一、Shell中变量的声明和引用

[root@ssspure~]#var1=Hello[root@ssspure~]#echo$var1Hello[root@ssspure~]#echo${var1}WorldHelloWorld

在Shell中,变量的引用使用$。

上面的代码中,$var1就是对变量var1的引用,输出的结果是Hello。


如果想链接其他字符,将变量放到大括号{}里面,然后在后面跟上其他内容。

例如上面的代码中:${var1}World最后的结果就是HelloWorld


注意:Shell是一种弱类型的编程语言,并不是这个值用双引号引用它就是字符串。单引号、双引号和反引号的区别主要在于对变量和命令的解析上。


二、双引号的使用

Shll中双引号可以用来解析变量。

[root@ssspure~]#var2="$var1"[root@ssspure~]#echo$var2Hello

如上图代码所示:将变量var1的引用放到双引号里面,然后赋给var2,var2的值就变成了var1的值。

由此可以看出,双引号可以解析变量。


三、单引号

[root@ssspure~]#var2='$var1'[root@ssspure~]#echo$var2$var1

从上面的代码中可以看出,单引号和双引号最大的区别就是单引号无法解析变量,赋给变量的是什么就是什么,并不会因为是某个变量就将其解析出来。


四、反引号

反引号主要用来解析命令

[root@ssspure~]#whoamiroot[root@ssspure~]#var=`whoami`[root@ssspure~]#echo$varroot

在上面的代码中,将whoami放到单引号中,并且赋值给变量var,那么var的值就是命令whoami的值,也就是说反引号中的内容会当做命令来进行解析。


[root@ssspure~]#var1="whoami"[root@ssspure~]#echo$var1whoami[root@ssspure~]#var=`$var1`[root@ssspure~]#echo$varroot

从上面的代码中可以看出,当反引号里面有变量引用的时候,会先将变量解析出来,然后将变量解析出来的结果作为命令来解析,最后赋值给变量var。


以上就是对Shell脚本中常用的三种引号的学习。