
单引号定义为所见即所得,单引号内部的内容原样输出,被单引号引起来的内容不管时变量还是常量都不会发生替换
#在表示连续字符串时,单引号、双引号、无引号都是一样的 [root@cn21 ~]# str1="string" [root@cn21 ~]# str2='string2' [root@cn21 ~]# str3=string3 [root@cn21 ~]# echo $str1 string [root@cn21 ~]# echo $str2 string2 [root@cn21 ~]# echo $str3 string3 #在引用变量时,单引号所见即所得。单引号是全引用,被单引号括起来就不会变化 [root@cn21 ~]# var=123 [root@cn21 ~]# echo '$var' $var [root@cn21 ~]# echo $var 123 [root@cn21 ~]# echo "$var is" 123 is2、双引号
双引号引用的内容,是先把内容中的命令、变量等解析出结果,然后再输出最终内容
[root@cn21 ~]# var2="test 123" [root@cn21 ~]# var3='test 123' [root@cn21 ~]# var4=test 123 -bash: 123: 未找到命令 [root@cn21 ~]# echo $var4 [root@cn21 ~]# echo "$var2 hello $var3" #先把内容中的命令、变量等解析出结果,然后再输出最终内容 test 123 hello test 123 [root@cn21 ~]# echo "$var2" test 1233、反引号
用于命令替换,相当于$()的作用
[root@cn21 ~]# echo `cat /etc/passwd` root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin [root@cn21 ~]# echo $(cat /etc/hosts) dd d d ddfafaffaf drrrrrtttt deeeeeeef [root@cn21 ~]# echo "$(cat /etc/hosts)" #echo在引用变量的时候,注意一般要加双引号,不加的话会丢失细节,比如换行符等 dd d d ddfafaffaf drrrrrtttt deeeeeeef [root@cn21 ~]# echo `cat /etc/hosts` dd d d ddfafaffaf drrrrrtttt deeeeeeef [root@cn21 ~]# echo "`cat /etc/hosts`" dd d d ddfafaffaf drrrrrtttt deeeeeeef