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=)
区分$*$@
$*把参数作为一个字符串整体(单字符串)返回

![](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=)
区分$*$@

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

![](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=)
$@把每个参数作为一个字符串返回

    原文作者:NoWowo
    原文地址: https://blog.51cto.com/14190777/2435958
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞