我们知道,想在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.最后,按下回车键,你的特殊字符就出现在当前位置了
上个代码片段的显示效果如下图:
本文介绍了在ShellScript中显示包含特殊字符的大段文字的方法,并提供了输入特殊字符如x1B(ANSI颜色转义序列)的详细步骤。通过使用双引号包围EOF并进入Unicode模式,可以轻松地在ShellScript中显示复杂格式的文本。
1030

被折叠的 条评论
为什么被折叠?



