shell编程(2)永久环境变量和字符串显位
声明!!!
学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章
视频链接:泷羽sec
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
# 常见变量
echo $HOME(家目录 root用户)
在我们平常输入ls
命令的时候,可以输出一些内容,是因为这些命令都有对应的环境变量
which ls #通过这个命令查看ls命令脚本所在路径
ls: aliased to ls --color=auto
的意思是,系统中 ls
命令被设置为一个别名,执行时会自动添加 --color=auto
选项,从而在支持颜色的终端中,列出的文件和文件夹会使用不同的颜色显示。这个设置可以提高文件列表的可读性,帮助用户更容易区分不同类型的文件。
使用**which -a ls
就可以查看到ls**命令的具体执行路径
查看环境变量
echo $PATH
查看输出结果,发现存在/usr/bin目录,当我们执行ls,它会帮我们找到对应的目录做一个执行,也就是说ls的完整路径应该是/usr/bin/ls 脚本
如果我们想要让我们的脚本也可以在终端直接执行,该怎么办呢?
方法一
将我们的脚本放到/usr/bin目录下,然后在终端输入文件名,就可以直接运行
方法二
也可以把/root这个目录直接添加到环境变量中去,让整个目录的文件都可以执行
export PATH=/root:$PATH
export PATH=/root:$PATH
export
:这个命令用来将修改后的环境变量导出,使得它对当前 shell 会话的所有子进程有效。这样,PATH
变量的更改会影响到当前 shell 会话中的所有程序和命令。/root:$PATH
:这个部分将/root
目录添加到当前PATH
环境变量的前面。意思是:系统首先会去/root
目录查找命令,如果没有找到,再按原有的PATH
变量中列出的其他路径继续查找。
这个环境变量只是临时的,关闭终端以后就没有了
方法三
永久环境变量
打开配置文件,在用户的家目录下,
echo $SHELL #查看用的是什么shell环境,若是/usr/bin/bash,则打开.bashrc ,若是/usr/bin/zsh ,则打开.zshrc,其他shell同理
vim .bashrc #打开配置文件
export PATH=/root:$PATH #将/root路径写到环境变量的最前面
source .bashrc #使配置生效
字符串相关操作
测算字符串长度
str="hello world"
echo ${#str}
字符串截取
echo ${str:0:5} #左闭右开