如何在单引号文本中显示单引号

时间:2012-09-24 14:36:34

标签: bash echo double-quotes quotation-marks

我有一个bash脚本,

echo 'abcd'

在shell中,我想显示ab'c'd,我尝试了以下方法,但没有成功

echo 'ab\'c\'d'

我想问是否可以用单引号文本显示单引号?

2 个答案:

答案 0 :(得分:8)

来自manual上的bash Single Quotes部分:

  

单引号之间可能不会出现单引号,即使前面有反斜杠也是如此。

您需要使用双引号代替。它并不漂亮,但以下内容给出了您正在寻找的输出:

echo 'ab'"'"'c'"'"'d'

答案 1 :(得分:0)

特定于bash的功能,不是POSIX的一部分,是$'...'引用的字符串:

echo $'ab\'c\'d'

这样的字符串与单引号字符串的行为相同,但允许选择\ _escaped字符(例如\ n,\ t和\,\,)。