脚本可以使用转义序列在终端中生成彩色文本
文本颜色是由对应的色彩码来描述的。其中包括:
重置=0,黑色=30,红色=31,绿色=32,
黄色=33,蓝色=34,洋红=35,青色=36,白色=37。
要打印彩色文本,可输入如下命令:
echo -e "\e[1;31m This is red text \e[0m"
Note:其中 \e[1;31m 是一个转义字符串,可以将颜色设为红色, \e[0m 将颜色重新置回。只需要将 31 替换成想要的色彩码就可以了。
对于彩色背景,经常使用的颜色码是:
重置=0,黑色=40,红色=41,绿色=42,黄色=43,
蓝色=44,洋红=45,青色=46,白色=47。
*要设置彩色背景的话,可输入如下命令:
echo -e "\e[1;42m Green Background \e[0m"
Note:这些例子中包含了一些转义序列。可以使用 man console_codes 来查看相关文档。
示例
[zhangfd@localhost shell]$ cat printf1.sh
#!/bin/bash
## filename:printf.sh
echo -e "\e[1;32m `printf "%-5s %-10s %-6s\n" No Name Mark` \e[0m"
echo -e "\e[1;46m `printf "%-5s %-10s %-s\n" - --- ----
printf "%-5s %-10s %-6.4f\n" 1 Sarath 80.3456
printf "%-5s %-10s %-6.4f\n" 2 James 90.9989
printf "%-5s %-10s %-6.4f\n" 3 Jeff 77.564
printf "%-5s %-10s %-6.4f\n" 4 zhangfd 299999990.33`
\e[0m"
输出