我想像Bash一样在Bash中显示一个字符串
I'm a student
当然你可以这样做
echo "I'm a student"
但如何在字符串周围使用单引号实现此目的?
答案 0 :(得分:96)
echo 'I\'m a student'
不起作用。但是以下工作:
echo $'I\'m a student'
来自bash的手册页:
单引号之间可能不会出现单引号,即使在前面引用也是如此 反斜杠 .... $'string'形式的单词将被特别处理。这个单词 扩展为字符串,将反斜杠转义字符替换为 由ANSI C标准规定。
答案 1 :(得分:43)
"丑陋" Glenn Jackman提到的解决方案实际上应该列为顶级答案。它运作良好,在某些情况下实际上很漂亮。
'I'"'"'m a student'
这结束了I
之后的单引号字符串,然后立即启动包含单引号的双引号字符串,然后启动另一个单引号字符串。 Bash然后将所有连续的字符串连接成一个。
美丽!
答案 2 :(得分:7)
以下示例有效,因为转义单引号\'
在技术上介于两个单引号参数之间
echo 'I'\''m a student'