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}

相关推荐
vortex51 小时前
Nuclei PoC 编写详解:从入门到实践
安全·web安全·网络安全·渗透测试
渗透好难4 小时前
CTF show Web 红包题第六弹
web安全·网络安全·前端框架·网络攻击模型
&_@5 小时前
vulnyx Blogger writeup
网络安全·vulnyx靶机
Johny_Zhao7 小时前
基于CentOS Stream 8的物联网数据采集与展示方案
linux·网络·python·mqtt·mysql·网络安全·信息安全·云计算·shell·yum源·系统运维
炎码工坊15 小时前
微服务通信安全实战:JWT在分布式架构中的应用与最佳实践
安全·网络安全·云原生·系统安全·安全架构
2501_9151063219 小时前
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
websocket·网络协议·tcp/ip·http·网络安全·https·udp
轨迹H1 天前
【春秋云镜】CVE-2023-2130漏洞复现exp
网络协议·网络安全·渗透测试·ctf·cve
寻丶幽风1 天前
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
论文阅读·笔记·深度学习·网络安全·差分测试
炎码工坊1 天前
API网关Envoy的鉴权与限流:构建安全可靠的微服务网关
网络安全·微服务·云原生·系统安全·安全架构
炎码工坊1 天前
从零掌握微服务通信安全:mTLS全解析
安全·网络安全·云原生·系统安全·安全架构