读书人

shell 色彩控制

发布时间: 2012-08-11 20:50:31 作者: rapoo

shell 颜色控制
?? echo -ne "\33[3;1H" 可以将光标移到第3行第1列处
具体的摘抄一些如下:
\33[0m?? 关闭所有属性
\33[1m?? 设置高亮度
\33[4m?? 下划线
\33[5m?? 闪烁
\33[7m?? 反显
\33[8m?? 消隐
\33[30m -- \33[37m?? 设置前景色
\33[40m -- \33[47m?? 设置背景色
\33[nA?? 光标上移n行
\33[nB?? 光标下移n行
\33[nC?? 光标右移n行
\33[nD?? 光标左移n行
\33[y;xH设置光标位置
\33[2J?? 清屏
\33[K??? 清除从光标到行尾的内容
\33[s??? 保存光标位置
\33[u??? 恢复光标位置
\33[?25l?? 隐藏光标
\33[?25h?? 显示光标
所有的转移字符表:\eASCII 转义字符(也可以键入 \033)\h主机名的第一部分(如 "mybox")\H主机的全称(如 "mybox.mydomain.com")\j在此 shell 中通过按 ^Z 挂起的进程数\l此 shell 的终端设备名(如 "ttyp4")\n换行符\r回车符\sshell 的名称(如 "bash")\t24 小时制时间(如 "23:01:01")\T12 小时制时间(如 "11:01:01")\@带有 am/pm 的 12 小时制时间\u用户名\vbash 的版本(如 2.04)\VBash 版本(包括补丁级别) ?/td>\w当前工作目录(如 "/home/drobbins")\W当前工作目录的“基名 (basename)”(如 "drobbins")\!当前命令在历史缓冲区中的位置\#命令编号(只要您键入内容,它就会在每次提示时累加)\$如果您不是超级用户 (root),则插入一个 "$";如果您是超级用户,则显示一个 "#"\xxx插入一个用三位数 xxx(用零代替未使用的数字,如 "\007")表示的 ASCII 字符\\反斜杠\[这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前。它使 bash 能够正确计算自动换行。\]这个序列应该出现在非打印字符序列之后。

这样,您已经知道了 bash 中用反斜杠转义的全部专用序列。请稍微演练一下这些序列,以对它们的工作方式获得一些感性认识。在您做了一些测试之后,下面开始添加颜色。

========================================
附上一个例子:
#!/bin/sh
############################################################
# Nico Golde <nico(at)ngolde.de> Homepage: http://www.ngolde.de
# Last change: Mon Feb 16 16:24:41 CET 2004
############################################################

for attr in 0 1 4 5 7 ; do
??? echo "----------------------------"
??? printf "ESC[%s;Foreground;Background - \n" $attr
??? for fore in 30 31 32 33 34 35 36 37; do
??????? for back in 40 41 42 43 44 45 46 47; do
??????????? printf '\033[%s;%s;%sm %02s;%02s ' $attr $fore $back $fore $back
??????? done
??? printf '\n'
??? done
??? printf '\033[0m'
done

读书人网 >操作系统

热点推荐