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}

相关推荐
程序员敲代码吗17 小时前
如何通过命令行启动COMSOL的参数化、批处理和集群扫描
java·c#·bash
枷锁—sha1 天前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
liann1191 天前
3.1_网络——基础
网络·安全·web安全·http·网络安全
ESBK20251 天前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信
旺仔Sec1 天前
一文带你看懂免费开源 WAF 天花板!雷池 (SafeLine) 部署与实战全解析
web安全·网络安全·开源·waf
七牛云行业应用1 天前
Moltbook一夜崩盘:150万密钥泄露背后的架构“死穴”与重构实战
网络安全·postgresql·架构·高并发·七牛云
dingdingfish1 天前
Bash 学习 - 第1章:Introduction
bash·shell·programming·introduction
原来是你~呀~1 天前
Strix:AI驱动的全自动安全测试平台,LinuxOS部署
网络安全·自动化渗透测试·strix
fendouweiqian1 天前
AWS WAF(配合 CloudFront)基础防护配置:免费能做什么、要不要开日志、如何限制危险方法
网络安全·aws·cloudfront
乾元1 天前
终端安全(EDR):用深度学习识别未知勒索软件
运维·人工智能·网络协议·安全·网络安全·自动化·安全架构