Shell脚本2 -- 永久环境变量与字符串操作

声明:
本文的学习内容来源于B站up主“泷羽sec”视频【shell编程(2)永久环境变量和字符串显位】的公开分享,所有内容仅限于网络安全技术的交流学习,不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题,请联系本人,我将立即删除相关内容。
本文旨在帮助网络安全爱好者提升自身安全技能,并严格遵守国家法律法规。任何人利用本文中的信息从事违法活动,均与本文作者和“泷羽sec”无关。请读者自觉遵纪守法,合理合法使用相关知识。


1 常见环境变量

家目录 root用户

echo $HOME

Pasted image 20241118111139
查看环境变量$PATH

echo $PATH

Pasted image 20241118111154
在Linux中,$PATH 是一个环境变量,用于定义系统在运行命令时搜索可执行文件的目录列表。

  • /usr/bin 目录的作用
    • /usr/bin 是Linux系统中的一个标准目录,通常存放用户可执行的常用命令和二进制文件。
    • 典型的命令如 ls, cp, mv, grep 等可能位于 /usr/bin
  • $PATH 中的 /usr/bin
    • 如果 PATH 环境变量包含 /usr/bin,说明系统在运行命令时,会在该目录中查找命令。
    • 例如,当你在终端输入 ls 时,系统会按顺序在 $PATH 中的目录中查找 ls 的可执行文件。如果 /usr/bin/ls 存在且有执行权限,就会运行它。
  • PATH 的查找机制
    • 系统按从左到右的顺序依次查找 $PATH 中列出的目录,找到匹配的命令后立即执行。
    • 如果 $PATH 中不包含 /usr/bin,则位于该目录的命令将无法直接运行,除非使用绝对路径。

2 永久执行自定义脚本,修改环境变量

呢么为了可以直接在命令行运行我们的脚本,就可以将自己写的脚本放入/usr/bin目录下,或者将脚本直接添加到$PATH里。

2.1 方法一:

将脚本直接移动到/usr/bin目录下,这样1.sh就可以直接当做命令来运行
Pasted image 20241118112038
Pasted image 20241118112048

2.2 方法二:

将整个/root目录添加到环境变量中去

export PATH=/root:$PATH

Pasted image 20241118112625
Pasted image 20241118112647

2.3 方法三:

将修改环境变量的代码写到.bashrc然后使用source命令运行,.bashrc在用户根目录下,当前为root用户,则在/root下,或者可以使用符号~代替根目录
备份.bashrc.bashrc.bak

cp ~/.bashrc ~/.bashrc.bak

修改.bashrc

export PATH=/root:$PATH

使用source运行.bashrc

source ~/.bashrc

尝试运行1.sh脚本成功
Pasted image 20241118115314
但开一个新窗口运行但是修改失败

原因:当前使用的shellzsh,并不是bash,所以修改bashrc无效,需要修改zshrc
查看所有shell

cat /etc/shells

查看当前默认使用的shell

echo $0

echo $SHELL

Pasted image 20241118145902
备份.zshrc.zshrc.bak

cp ~/.bashrc ~/.bashrc.bak

修改.zshrc

export PATH=/root:$PATH

使用source运行.bashrc

source ~/.bashrc

尝试运行1.sh
Pasted image 20241118150137
新开一个窗口执行
Pasted image 20241118150158
若想变回原来的命令行提示符,运行source ~/.zshrc.bak即可

3 字符串相关操作

创建字符串

str="hello world"

查看字符串长度

echo ${#str}

截取字符串

echo ${variable:offset:length}

例如,截取strworld部分,即偏移(offset)6个字符,长度(length)为5。

echo ${str:6:5}

Pasted image 20241118152019

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值