如何在Bash中单引号string中单引号转义?

我想要像这样在Bash中显示一个string

I'm a student 

当然你可以这样做

 echo "I'm a student" 

但是如何在string周围使用单引号来实现这一点?

 echo 'I\'ma student' 

不起作用。 但是下面的作品:

 echo $'I\'ma student' 

从bash的手册页:

单引号之间可能不会出现单引号,即使前面带有反斜杠。
….
$'string'forms的单词被特殊处理。 字扩展为string,反斜杠转义字符被ANSI C标准指定。

Glenn Jackman提到的“丑陋”解决scheme实际上应该被列为顶级答案。 它运作良好,在某些情况下实际上是美丽的。

 'I'"'"'ma student' 

这结束了单引号string后, I立即启动一个双引号string包含单引号,然后启动另一个单引号string。 Bash然后连接所有连续的string到一个。

美丽!