在heredocs中着色,bash
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在heredocs中着色,bash相关的知识,希望对你有一定的参考价值。
如果我之前已经定义了这样的颜色变量:
txtred='e[1;31m'
我如何在heredoc中使用它:
cat << EOM
[colorcode here] USAGE:
EOM
我的意思是我应该用什么来代替[colorcode here]
来将USAGE文本呈现为红色? ${txtred}
将不起作用,因为这是我在整个我的bash脚本中使用的,在heredoc之外
答案
你需要一些东西来解释cat
不会做的转义序列。这就是为什么你需要echo -e
而不仅仅是echo
才能使它正常工作。
cat << EOM
$(echo -e "${txtred} USAGE:")
EOM
作品
但你也不能通过使用textred=$(tput setaf 1)
来使用转义序列,然后直接使用变量。
textred=$(tput setaf 1)
cat <<EOM
${textred}USAGE:
EOM
以上是关于在heredocs中着色,bash的主要内容,如果未能解决你的问题,请参考以下文章
使用没有 tty 的 heredoc 在 ssh 后获取 bash 提示