单引号’’
单引号在shell中用于字符串的输出,在单引号里的字符串,所有的字符都被认为是普通的字符,即不会转译特殊字符,演示示例如下:
[root@Centos8 ~]# echo 'I am a boy!'
I am a boy!
[root@Centos8 ~]# echo 'I am #&a boy!'
I am #&a boy!
[root@Centos8 ~]# echo 'I am /a boy!'
I am /a boy!
[root@Centos8 ~]# echo 'I am $a boy!'
I am $a boy!
[root@Centos8 ~]# echo 'I am ${a} boy!'
I am ${a} boy!
双引号""
双引号也是用于输出字符串,但双引号会对转译字符进行转译;
演示示例:
[root@Centos8 ~]# a=good
[root@Centos8 ~]# echo "I am $a boy!"
I am good boy!
[root@Centos8 ~]# echo "I am ${a}boy!"
I am goodboy!
倒引号`
倒引号在tab键上方,倒引号都是用来做命令替换用(commandsubstitution)的,一般在Linux中就是将倒引号内的Linux命令先执行,然后将执行结果赋予变量;
演示示例如下:
[root@Centos8 ~]# now=`date +"%F %H:%M:%S"` #加了倒引号
[root@Centos8 ~]# echo $now
2021-05-24 23:41:22
总结
1、单引号不转译特殊符号,完完全全输出原样字符串;
2、双引号转译特殊字符;
3、倒引号做命令替换,即把命令的结果赋值给另一个变量;