我正在尝试在bash/xterm上启用反向视频,以使文本是黑色的,但前景是白色的。但这不起作用。这是我的命令:
echo -n -e \x1B\x07maaa\x1B[m
有什么想法为什么不预期的是?
在示例中
echo -n -e \x1B\x07maaa\x1B[m
\x07m
不能正确,因为那将是ASCII BEL。也许您的意思是这样:
echo -n -e \x1B[7maaa\x1B[m
\x1B
是逃脱字符。所有其他字符均来自可打印的ASCII范围。假设您的echo
以这种方式解释ESCAP(bash's Do)。
另一种方式:
echo -n -e "e[07mTEXTe[0m"
或:
printf "e[07mTEXTe[0m"
更多便携式是
tput rev
用于反向模式和
tput sgr0
清除反向模式。
使用 bash
s printf
命令(以及托马斯·迪基(Thomas Dickey)指出,您使用错误的序列来启用逆视频)要简单得多。问自己需要堆叠多少个反斜线,几乎总是错误的问题。
# e[7m starts inverse video
# e[m (short for e[0m) resets all video parameters to their default values
printf 'e[7maaae[m'