我们知道,想在shell script中显示一大段文字(Heredoc),可以用 cat << EOF的方式,比如下面的例子:
cat << EOF
this quick brown fox jumps over the lazy dog
powered by manfeel!
EOF
这些普通的文本显示起来没有问题,一旦里面夹杂有特殊的字符(如“\”、“`”之类的),就会出问题。
有一个非常简单有效的方法,那就是用双引号将EOF包围起来!如:
但是,使用这种方式以后,“\”失去了原来的转义序列的含义,想要输入\x1B(Ansi color转义序列,请参见我的另一篇文章:ANSI/VT100 Terminal Control Escape Sequences)之类的特殊字符就不好办了,如果你用gedit来编辑script的话,恭喜你,还有一个办法^_^,请看下面的代码片段:
相信细心的读者已经看到,里面有大量的 标识,这就是\x1B转义字符,如何输入这个特殊的字符呢?很简单:
1.gedit中按下组合键 Ctrl+Shift+U 打开 Unicode模式
2.紧接着输入该特殊字符的Unicode number :001b
3.最后,按下回车键,你的特殊字符就出现在当前位置了
上个代码片段的显示效果如下图: