以下内容均引用自鸟哥私房菜
[root@localhost ~]# myname=lichao
[root@localhost kernel]# myname=li chao
bash: chao: command not found...
1)双引号内的特殊字符可以保持原有的特性 2)单引号内的特殊字符仅为一般字符 如下所示:引用变量myname
[root@localhost ~]# myname=lichao
[root@localhost ~]# echo $myname
lichao
[root@localhost ~]# info="$myname is an software engineer"
[root@localhost ~]# echo $info
lichao is an software engineer
[root@localhost ~]# info2='$myname is an software engineer'
[root@localhost ~]# echo $info2
$myname is an software engineer
[root@localhost ~]# var=i\'m\ an\ engineer
[root@localhost ~]# echo $var
i'm an engineer
”$变量”或者${变量}
[root@localhost kernel]# info="my name is lichao"
[root@localhost kernel]# info=${info},and\ age\ is
[root@localhost kernel]# echo $info
my name is lichao,and age is
[root@localhost kernel]# info="$info"\ xxx
[root@localhost kernel]# echo $info
my name is lichao,and age is xxx
给变量赋值
[root@localhost zabbix]# version=$(uname -r)
[root@localhost zabbix]# echo $version
3.10.0-514.16.1.el7.x86_64
或者在路径中引用
[root@localhost zabbix]# cd /lib/modules/`uname -r`/kernel
[root@localhost kernel]# pwd
/lib/modules/3.10.0-514.16.1.el7.x86_64/kernel
注意反单引号或者$(命令) 这里面需要的是命令,不要和第6条中的变量的增加搞混淆了,上面version变量已经赋值了,但是像下面这样的写法是有问题的。
[root@localhost kernel]# cd /lib/modules/$(version)/kernel
bash: version: command not found...
-bash: cd: /lib/modules//kernel: No such file or directory
$()里面应该是指令而不应该是变量,要想引用变量内容需要使用中括号。
[root@localhost ~]# cd /lib/modules/${version}/kernel
[root@localhost kernel]# pwd
/lib/modules/3.10.0-514.16.1.el7.x86_64/kernel
查看环境变量可以使用指令env,查看环境变量和自定义变量可以使用set。
[root@localhost locale]# set | grep myname
info2='$myname is an software engineer'
myname=lichao
也可以使用export来查看环境变量,但是export通常是用来将自定义变量转换成环境变量。
备注:以上内容均是学习鸟哥私房菜这本书做的笔记。