Bash中的echo

在sh文件中,echo是必不可少的。

除了常用的echo abcecho 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 # 绿底黑字

引号的影响

  • 双引号:会解释变量和特殊字符
  • 单引号:原样输出所有内容
  • 无引号:多个空格会被压缩为一个

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注