linux 单引号和双引号区别

本文详细解析了Linux shell中单引号和双引号的使用差异,单引号被视为强引用,保持字符串原样输出,而双引号则为弱引用,允许变量替换、命令替换,并需对特殊字符进行转义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因linux单引号和双引号导致的bug受刺激了,做个笔记。

1)、单引号属于强引用,它会忽略所有被引起来的字符的特殊处理,被引用起来的字符会被原

  封不动的使用,唯一需要注意的点是不允许引用自身;

 

2)、双引号属于弱引用,它会对一些被引起来的字符进行特殊处理,主要包括以下情况: 

  1:$加变量名可以取变量的值 ,比如:

  [root@localhost ~]# echo '$PWD'
  $PWD  

  [root@localhost ~]# echo "$PWD"

  /root 

2:反引号和$()引起来的字符会被当做命令执行后替换原来的字符,比如:

  [root@localhost ~]# echo '$(echo hello world)'
  $(echo hello world)
  [root@localhost ~]# echo "$(echo hello world)"
  hello world

[root@localhost ~]# echo '`echo hello world`'
`echo hello world`
[root@localhost ~]# echo "`echo hello world`"
hello world 

3:当需要使用字符($  `  "  \)时必须进行转义,也就是在前面加\ ; 

[root@localhost ~]# echo '$ ` " \'
$ ` " \
[root@localhost ~]# echo "\$ \` \" \\"
$ ` " \

 

 

转自:https://www.cnblogs.com/panhongyin/p/5603508.html,如有侵权,请练习删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值