shell变量快速入门

临时变量
shell变量快速入门
开启新的sh,临时变量不存在
shell变量快速入门

在shell脚本运行时,会先查找系统环境变量ENV
该变量指定了环境文件(加载顺序通常是/etc/profile ~/.bash_profile ~/.bashrc /etc/bashrc)

实现变量局部生效

编辑用户变量文件
shell变量快速入门shell变量快速入门
立即生效命令
shell变量快速入门
开启新的sh,变量存在

shell变量快速入门
切换普通用户,变量不存在
shell变量快速入门
实现/mnt下脚本直接执行
编辑用户变量文件
shell变量快速入门shell变量快速入门
显示PATH环境变量
shell变量快速入门
实现变量全局生效
编辑系统变量文件
shell变量快速入门

shell变量快速入门
立即生效命令
shell变量快速入门
切换普通用户,变量存在
shell变量快速入门
.


双引号:所见非所得,它会先把变量解析之后,再输出
shell变量快速入门
加双引号即可显示*
shell变量快速入门
以下符号不可解析

shell变量快速入门
shell变量快速入门
shell变量快速入门
单引号:所见即所得
shell变量快速入门shell变量快速入门
shell变量快速入门
反斜杠( \ ) :转义字符/逃脱字符,Linux如果echo要让转义字符发生作用,就要使用-e选项,且转义字符要使用双引号
shell变量快速入门
反引号(``) :命令替换,通常用于把命令输出结果传给入变量中
shell变量快速入门
另一种方式
shell变量快速入门
.


$符的用法
编辑文件
shell变量快速入门
$1$2$3是传递参数的顺序 ,$*$@是全部$#是参数个数$0是文件名

shell变量快速入门
传递参数1 2 3 ![](https://s1.51cto.com/images/blog/201909/03/3de2a851e6f55f838583eb550a3a1f8e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
区分$*$@
br/>![](https://s1.51cto.com/images/blog/201909/03/3de2a851e6f55f838583eb550a3a1f8e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
区分$*$@

编辑文件
shell变量快速入门
shell变量快速入门
传递参数1 2 3 ![](https://s1.51cto.com/images/blog/201909/03/8c91ff9728fa49f7de85cd9ee6df8c33.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
$@把每个参数作为一个字符串返回
br/>![](https://s1.51cto.com/images/blog/201909/03/8c91ff9728fa49f7de85cd9ee6df8c33.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
$@把每个参数作为一个字符串返回

shell变量快速入门
传递参数1 2 3
shell变量快速入门
$! Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号)
shell变量快速入门shell变量快速入门
$? 最后运行的命令的结束代码(返回值)即执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
shell变量快速入门
shell变量快速入门shell变量快速入门
$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号)
shell变量快速入门shell变量快速入门