我有下面的行来回显值,它们之间带有制表符。文字也是彩色的,但有些\t
不起作用。
下面这个的输出将使前两个\t
不起作用。
echo "\033[1;31m${var[a]}\t$time\t$end\t$day\t$score\033[m"
下面这个将包含所有\t
工作,但也会打印-e
在屏幕上。
echo -e "\033[1;31m${var[a]}\t$time\t$end\t$day\t$score\033[m"
答案1
使用ksh
的ANSI 字符串特征:
echo $'\033[1;31m${var[a]}\t$time\t$end\t$day\t$score\033[m'
即,您的字符串中嵌入了 ANSI 转义符$'...'
。
注意:您需要 ksh93(ksh88 不支持该功能)。