一、本地变量 1、使用场景:本地变量在用户当前shell生存期的脚本中使用 2、定义赋值的几种方式:

 变量名=值 #赋值时不加引号 变量名=‘值’ #赋值时加单引号 变量名=“值” #赋值时加双引号 

3、定义变量名以及赋值时的要求

变量名:一般是字母、数字、下划线组成,可以以字母或者下划线开头,不能以数字开头,建议采用驼峰语法来编辑变量名(即当变量名是多个单词时,除了第一个单词首字母是小写,其他单词的首字母都是大写) 赋值:可以用单引号、双引号以及不加任何引号,但是三者的含义是不同的

4、三种赋值方式的不同之处

无引号 :赋值时,

 如果值中有空格,则会造成赋值失败 如果值中有命令、其他变量,则会先把命令和变量解析后再输出 如果字符串中带有空格等特殊字符,则会赋值失败 

单引号:赋值时,

 所见即所得,即输出时会将单引号内的所有内容按原样输出,就是你看到什么就输出什么,被称为“强引用” 

双引号:赋值时,

 输出双引号内的室友内容 如果值中有命令、其他变量、特殊转移符等,会先把前三者解析出来再输出,是⭐️推荐的用法⭐️,被称为“弱引用” 

反引号:顺带说一下,反引号用法。一般用于引用命令,执行的时候命令会被执行,但是一般不推荐用反引号引用命令的方式,而是推荐用 $() 这样的方式来引用命令。

5、变量定义以及赋值经验小结

1)若变量内容为连续的数字或者字符串,赋值时,可不加任何引号,例如:abc=123 2)若变量的内容很多时,且有空格和希望被解析的变量,就必须使用双引号,例如:abc="/etc/rc.local $USER" 3)若希望原样输出变量中的内容时必须采用单引号进行复制,例如:abc='$USER' 4)若要引用命令,则用反引号把赋值的命令反引起来,但是建议用$()的方式,而不是反引号,例如:abc=ls abc=$(ls) 5)使用“echo $变量名”即可以输出变量的内容,也可以用printf代替echo输出更复杂的格式内容 6)当变量后面连接有其他字符的时候,必须给变量加上大括号{},例如:${abc}_def 7)没有特殊要求时,一律使用双引号

6、三剑客(grep/awk/sed)取用Shell变量时的特殊用法

grep:按前面的正常用法 sed:按前面的正常用法 awk:⭐️不能按前面的正常用法⭐️,awk取用shell变量时的格式例子:

 NB="dabiaoge" echo "$NB" | awk '{print $0}' echo '$NB' | awk '{print $0}' echo $NB | awk '{print $0}' NB=`pwd` 或者 NB=$(pwd) echo "$NB" | awk '{print $0}' echo '$NB' | awk '{print $0}' echo $NB | awk '{print $0}' 

二、我是大表哥,我为自己带盐,以后会不定时更新,请支持正版,盗链可耻 我的博客是:http://blog.51cto.com 各位朋友有什么不懂以及认为有什么错误之处,请在下方留言,谢谢!