5

问题:

  • 我最近发现了一个关于在回显时更改 bash 中的文本颜色的页面,这真的很有帮助,因为它解释了如何通过一系列击键将转义符作为单个字符输入。不幸的是,这是一台学校计算机,历史没有保存。从那以后我就找不到那个页面了。

问题:

  • 如果有人知道输入转义字符的击键顺序,^[将不胜感激。
4

1 回答 1

1

可以\e在解释反斜杠序列的命令中使用反斜杠序列生成转义键。

例如:

echo -e "Text can be \e[1;41mred\e[m or \e[1;45mmagenta\e[m"
for back in {30..37}; do
  echo -n $back:
  for fore in {40..47}; do
    printf "\e[1;%2d;%2dm%2d\e[m " $back $fore $fore
  done
  printf "\n"
done

上面未说明的一种可能性是 bash 转义解释字符串:$'\e[1m'.


尽管使用 vt 转义序列(如上)很容易并且大多数(如果不是全部)常用的 unix 终端仿真器都支持,但顽固分子会坚持让您学习使用该tput命令:

 printf "Here is a %sbold red%s word\n" "$(tput bold)""$(tput setf 4)" "$(tput sgr0)"

恕我直言,找出神奇的 tput 符号(man 5 terminfo在 debian/ubuntu 系统上查看)并不像查找 xterm 控制序列(谷歌最后三个单词)那么容易,而是 YMMV。

于 2013-07-23T18:58:51.483 回答