Linux双引号、单引号和反向单引号

Linux里的双引号、单引号和反向单引号有不同的用法,不好记忆,这里总结一下。


单引号''

单引号是一个强引用的符号。什么意思呢?它忽略了所有的特殊符号,比如$、\这样的符号,单引号里的内容全部看做普通的字符串。

[root@CentOS7 ~]#echo '$PATH'
$PATH
[root@CentOS7 ~]#

可以看到,单引号里面的变量符号$被当做一个普通的字符输出。

tips:它比较强势,忽略了所有特殊符号,我们称之为强引用。


双引号""

双引号是一个弱引号的符号,忽略了部分特殊符号,但$、\还保留着特殊含义。

[root@CentOS7 ~]#echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

还有一点值得一说的是,默认情况下,如果命令里的变量没有带引号,系统会输出双引号的结果:

[root@CentOS7 ~]#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

记忆小tips:双引号相比单引号的引用要弱,忽略了部分特殊符号,我们称之为弱引用。


反向单引号``

反向单引号在键盘上数字1的左方。它的作用是把引号里面的命令先执行一遍,引号里的命令输出的结果作为另一个命令的参数。

[root@CentOS6 ~]#echo "I am `whoami` "
I am root 
[root@CentOS6 ~]#

以上面的例子说明:当执行echo "i am whoami "这条命令时,系统会先执行反向单引号whoami这条命令,输出结果的“root”变成echo的参数。最后变成执行echo “I am root”。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容