shell编程2 永久环境变量和字符串显位

声明

学习视频来自B站UP主 泷羽sec

常见变量

echo $HOME (家目录 root用户)

/root

cd /root

windows的环境变量可以去设置里去新建

为什么输入ls dir的命令的时候就会输出相应的内容呢

因为这些命令都有相应的变量

which ls 通过这个命令查看ls命令脚本所在的路径

显示ls被设置了别名 使用的时候会显示颜色

which -a ls

-a 选项是让 which 命令列出所有匹配给定命令的可执行文件路径,而不只是显示第一个找到的路径。

看看 $PATH 的环境变量

查看输出结果存在/user/bin 目录

就是当我们执行ls 他会帮我们找到对应的目录帮我们执行 ,也就是ls的完整路径应该是 /usr/bin/ls 脚本

添加永久变量

方法1

将刚刚的1.sh脚本直接写到/usr/bin目录下然后在终端直接输出

mv 1.sh /usr/bin/

方法2

把/root/整个目录直接添加到环境变量里面去让整个目录的文件都可以执行

export PATH=$PATH:/root

关掉窗口就消失

这个是临时修改

export PATH=/root 永久修改是这个

echo $PATH (查看环境变量中root目录是否添加)

export:是一个用于设置环境变量的关键字 使得当前变量可以在当前shell 以及由该shell启动的子进程中生效

PATH:重要的环境变量,他定义了系统在哪些目录下去寻找可执行程序。当你在命令行输入一个命令(如ls ,cat 等)时 系统会根据PATH系统环境变量所指定的顺序去查找对应的可执行文件,找到然后运行他

/root:PATH:这里是在重新定义PATH的值。他将/root目录添加到了原有的PATH变量值的最后面(export PATH=/root:$PATH 这个是最前面)(假设原有PATH值存储在变量PATH中,这里通过PATH的形式保留了原来的值并添加了新的部分)。

这样的结果是,当系统去查找可执行程序时,会先在/root目录下查找,然后再按照原来PATH所指定其他目录顺序查找

永久变量:刚才的export 只是设置了临时变量,我们只有把他写入到配置文件当中才能永久生效

首先 cd / 进入根目录

usr/bin/vi .basrc

export PATH=/root:$PATH

source usr/bin/ .basrc(变量生效或者永久生效)

1.sh


字符串相关操作

假设我们想知道字符传的长度应该怎么做

比如name="li" age=20 然后我们通过echo"my name is name i am age "打印完整字符串

str="hello world"

echo KaTeX parse error: Expected '}', got '#' at position 2: {#̲str} echo{str:0:3}

相关推荐
小红卒1 小时前
mysql之udf提权
数据库·mysql·网络安全
持敬chijing7 小时前
Web渗透之SQL注入-堆叠注入(Stacked Queries Injection)
sql·安全·web安全·网络安全·网络攻击模型·安全威胁分析
vortex514 小时前
CheatMD:让 Markdown 笔记变成可执行的交互式命令
笔记·网络安全·markdown
txg66615 小时前
网络安全领域简报(2026年5月31日—6月7日)
安全·web安全·网络安全
持敬chijing16 小时前
Web渗透之SQL注入-宽字节注入
sql·安全·web安全·网络安全·网络攻击模型·安全威胁分析·web
汤愈韬1 天前
IPSec-NAT穿越原理和配置
网络·网络协议·安全·网络安全·security
大方子1 天前
【PolarCTF】导航栏
网络安全·polarctf
网络研究院1 天前
中国网络安全与数据保护领域政策与执法动态回顾(2026年4月)
网络安全·数据保护·执法·政策·回顾
网络研究院1 天前
中国网络安全与数据保护领域政策与执法动态回顾(2026年2月)
网络安全·数据保护·法规·政策·回顾
humors2211 天前
四种字母密码表示法
安全·网络安全·密码学