8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

Bash 中单引号和双引号的区别

Shaul Behr 2月前

156 0

在 Bash 中,单引号 ('') 和双引号 (\'\') 有什么区别?

) 和双引号 ( '' ) "" 有什么区别

帖子版权声明 1、本帖标题:Bash 中单引号和双引号的区别
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Shaul Behr在本站《linux》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 其他人解释得很好,我只想提供一些简单的例子。

    单引号 ,以防止 shell 解释任何特殊字符。美元符号、空格、& 符号、星号和其他特殊字符在单引号内时都会被忽略。

    echo 'All sorts of things are ignored in single quotes, like $ & * ; |.'
    

    它将给出这个:

    All sorts of things are ignored in single quotes, like $ & * ; |.
    

    唯一不能放在单引号内的是单引号。

    双引号的 作用与单引号类似,但双引号仍允许 shell 解释美元符号、反引号和反斜杠。众所周知,反斜杠会阻止解释单个特殊字符。如果需要将美元符号用作文本而不是变量,则双引号内的双引号非常有用。它还允许对双引号进行转义,这样它们就不会被解释为引号字符串的结尾。

    echo "Here's how we can use single ' and double \" quotes within double quotes"
    

    它将给出这个:

    Here's how we can use single ' and double " quotes within double quotes
    

    还可能注意到,双引号内的撇号会被忽略,否则撇号会被解释为引号字符串的开头。但是,双引号内的变量会被解释并替换为其值。

    echo "The current Oracle SID is $ORACLE_SID"
    

    它将给出这个:

    The current Oracle SID is test
    

    反引号 与单引号或双引号完全不同。反引号并非用于阻止解释特殊字符,而是强制执行其括起来的命令。执行括起来的命令后,其输出将替换原始行中的反引号。通过示例可以更清楚地了解这一点。

    today=`date '+%A, %B %d, %Y'`
    echo $today
    

    它将给出这个:

    Monday, September 28, 2015
    
返回
作者最近主题: