echo - 输出文本与变量

echo 用于向标准输出写入文本或变量值。

基本语法

echo [OPTION]... [STRING]...

常用参数

  • -n:不输出末尾换行符。
  • -e:解释反斜杠转义序列。
  • -E:不解释反斜杠转义序列。

不同 Shell 对 echo 选项和转义序列的处理可能不同。需要可移植、可预测的格式化输出时,优先使用 printf

转义示例

# 不解释 \n
echo 'abc\n'
 
# 将 \n 解释为换行
echo -e 'abc\n'

常见转义序列:

  • \a:响铃。
  • \b:退格。
  • \c:停止继续输出。
  • \f:换页。
  • \n:换行。
  • \r:回到行首。
  • \t:水平制表符。

Shell 字符串截取

下面是 Shell 的参数展开语法,不是 echo 自身的功能:

value='1234567'
 
# 删除最后一个字符
echo "${value%?}"
 
# 删除最后两个字符
echo "${value%??}"
 
value='123456ABC'
 
# 获取最后一个字符
echo "${value: -1}"

ANSI 颜色

printf '\033[31m红色文字\033[0m\n'
printf '\033[42;37m绿底白字\033[0m\n'

常用前景色编号为 3037,常用背景色编号为 4047\033[0m 用于重置显示样式。

参考资料