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 小时前
从 Nginx 日志到访问分析:轻量化网站监测服务的架构实践
jvm·nginx·网络安全·架构·网络监控
ManageEngine卓豪6 小时前
企业网络安全建设实践:2026 威胁态势、合规基线与分层防御落地
web安全·网络安全·it运维·网络安全防护
QZ166560951596 小时前
可视化易用·低误报率·跨区域部署:知源-AI数据分类分级系统在金融行业的落地实践
大数据·网络·安全·网络安全
2501_915909067 小时前
抓包工具断点拦截是什么?如何半路拦截修改 HTTP 请求
网络协议·计算机网络·网络安全·adb·https·udp
大方子9 小时前
【PolarCTF】PHP_Deserialization
网络安全·polarctf
持敬chijing11 小时前
白盒测试与代码审计-Claude Code Windows环境搭建
windows·安全·网络安全·网络攻击模型
Vitaliy Kostrov(柯维远)12 小时前
客户端如何检查直播流:从流内标记到停止播放
android·运维·服务器·驱动开发·网络安全·系统架构·cdn
sbjdhjd1 天前
从签名重放到 Agent Harness:一堂安全课程如何把前端逆向、MCP 与工程约束串起来
网络安全·ai·github·agent·webshell·mcp·harness
Brilliantwxx2 天前
【STM32】 RTC 实时时钟详解:从概念到预分频器
stm32·单片机·嵌入式硬件·mcu·bash
持敬chijing2 天前
白盒测试与代码审计-js登录逆向实战
javascript·网络·安全·web安全·网络安全·网络攻击模型