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}

相关推荐
盛满暮色 风止何安3 小时前
防火墙的类别和登录Web的方法
linux·运维·服务器·网络·网络协议·tcp/ip·网络安全
风语者日志16 小时前
CTF攻防世界WEB精选基础入门:command_execution
web安全·网络安全·ctf·小白入门
white-persist21 小时前
XXE 注入漏洞全解析:从原理到实战
开发语言·前端·网络·安全·web安全·网络安全·信息可视化
lingggggaaaa1 天前
小迪安全学习笔记(一百零二讲)—— 漏扫项目篇&PoC开发&Yaml语法&插件一键生成&匹配结果&交互提取
笔记·学习·安全·网络安全·交互
谈不譚网安2 天前
Raven2
web安全·网络安全
网安INF2 天前
网络攻防技术:网络安全攻击概述
安全·web安全·网络安全·网络攻防
emma羊羊2 天前
【文件读写】18,21关
网络安全·upload
电子科技圈3 天前
芯科科技第三代无线SoC现已全面供货
嵌入式硬件·mcu·物联网·网络安全·智能家居·智能硬件·iot
Bruce_Liuxiaowei3 天前
内网连通性判断:多协议检测方法与应用
运维·安全·网络安全
emma羊羊4 天前
【文件读写】图片木马
linux·运维·服务器·网络安全·靶场