在我的脚本中,我几乎总是使用转义序列来表示颜色:
R='\e[0m'
g='\e[0;32m'
echo -e "${g}green text${R}"
我想-e
默认行为,所以我可以省略它。怎么样?
答案 0 :(得分:5)
答案 1 :(得分:1)
通常你会使用别名,它适用于许多shell。但是bash
别名不会在非交互式shell中展开,并且您希望它用于非交互式的脚本。
引用man bash
:
对于几乎所有目的,别名都被shell函数取代
所以你可以使用函数,但我会用不同的方式来调用它,以避免错误或无限递归:
myecho()
{
echo -e "$@"
}
如果你在上面,你可以做得更好:
green_echo()
{
echo -e "${g}$@${R}"
}
甚至更好,您可以将颜色作为第一个参数,将其移出$@
并使用开关选择正确的转义序列。没有限制,请记住shell是一种完整的编程语言。