反向视频似乎不起作用

reverse video doesn't seem to be working

我正在尝试在 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

\x1Bescape 字符。所有其他字符都来自可打印的 ASCII 范围。这假设您的 echo 以这种方式解释转义(bash 是)。

更便携的是

tput rev

反向模式和

tput sgr0

清除反向模式。

另一种方式:

echo -n -e "\e[07mTEXT\e[0m"

或者:

printf "\e[07mTEXT\e[0m"

使用 bashprintf 命令会简单得多(正如 Thomas Dickey 所指出的,您使用了错误的序列来启用反转视频)。问自己需要堆叠多少个反斜杠几乎总是错误的问题。

# \e[7m starts inverse video
# \e[m (short for \e[0m) resets all video parameters to their default values
printf '\e[7maaa\e[m'