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

查看环境变量$PATH
echo $PATH

在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就可以直接当做命令来运行


2.2 方法二:
将整个/root目录添加到环境变量中去
export PATH=/root:$PATH


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脚本成功

但开一个新窗口运行但是修改失败
原因:当前使用的shell是zsh,并不是bash,所以修改bashrc无效,需要修改zshrc
查看所有shell
cat /etc/shells
查看当前默认使用的shell
echo $0
echo $SHELL

备份.zshrc为.zshrc.bak
cp ~/.bashrc ~/.bashrc.bak
修改.zshrc
export PATH=/root:$PATH
使用source运行.bashrc
source ~/.bashrc
尝试运行1.sh

新开一个窗口执行

若想变回原来的命令行提示符,运行source ~/.zshrc.bak即可
3 字符串相关操作
创建字符串
str="hello world"
查看字符串长度
echo ${#str}
截取字符串
echo ${variable:offset:length}
例如,截取str中world部分,即偏移(offset)6个字符,长度(length)为5。
echo ${str:6:5}




















