除了常用的echo abc或echo abc>>123.txt使用外,echo还有更多用法,丰富sh文件的输出。
不换行:echo -n
默认情况下,echo 会在输出后添加换行符;使用 -n 可以禁止这种行为。
- 示例:
echo -n abc && echo 123此时屏幕输出只有一行内容:abc123,并不是二行内容。
启用转义解释:echo -e
比如:\n为换行,\t制表符、\\显示\;还有颜色:\e[31m:红色,\e[32m:绿色,\e[0m:重置颜色。
- 示例与效果A:
echo -e "\e[31mRed Text\e[0m" && echo -e "\e[42;30mGreen Background\e[0m"

- 示例与效果B:
echo -e "Name\tAge\n----\t---\nAlice\t25\nBob\t30"

颜色代码
组成格式:\e[+X;/XX;+YY+m
- 首尾为
\e[与m是固定值。其中,e可以使用033代替。 X;/XX;为可选,有值时的含义:X;为:0;为正常,1;为加粗,4;为下划线XX;为指定背景颜色。
Y含义:X;存在,Y字体颜色:30黑,31红,32绿,33黄,34蓝,35紫,36青,37白X;/XX;没有,Y为背景颜色:把字体颜色的3x改为4x,比如:40黑
\e[0m为重置到默认值(黑底白字)
| 字体颜色 | 加粗字体 | 带下划线 | 指背景 | 同时指定字体与背景颜色 |
|---|---|---|---|---|
\e[0;30m # 黑色\e[0;31m # 红色\e[0;32m # 绿色\e[0;33m # 黄色\e[0;34m # 蓝色\e[0;35m # 紫色\e[0;36m # 青色\e[0;37m # 白色 | \e[1;30m # 黑色 粗体\e[1;31m # 红色 粗体\e[1;32m # 绿色 粗体\e[1;33m # 黄色 粗体\e[1;34m # 蓝色 粗体\e[1;35m # 紫色 粗体\e[1;36m # 青色 粗体\e[1;37m # 白色 粗体 | \e[4;30m # 黑色 下划线\e[4;31m # 红色 下划线\e[4;32m # 绿色 下划线\e[4;33m # 黄色 下划线\e[4;34m # 蓝色 下划线\e[4;35m # 紫色 下划线\e[4;36m # 青色 下划线\e[4;37m # 白色 下划线 | \e[40m # 黑色 背景\e[41m # 红色 背景\e[42m # 绿色 背景\e[43m # 黄色 背景\e[44m # 蓝色 背景\e[45m # 紫色 背景\e[46m # 青色 背景\e[47m # 白色 背景 | \e[42;30m # 绿底黑字 |
引号的影响
- 双引号:会解释变量和特殊字符
- 单引号:原样输出所有内容
- 无引号:多个空格会被压缩为一个
发表回复