Shell echo 命令

echo 是最常用的 Shell 内置命令,作用是把字符串输出到屏幕。脚本里的提示信息、调试打印都靠它,配合变量和转义符可以格式化输出任何内容。

显示普通字符串

字符串可以用引号也可以不用,双引号内变量会解析:

echo hello world
# 输出:hello world
echo "hello world"
# 输出:hello world
name=张三
echo "你好, $name"
# 输出:你好, 张三

显示转义字符

echo 默认不解析转义符,需加 -e 选项开启:

echo -e "第一行\n第二行"
# 输出:
# 第一行
# 第二行
echo -e "列1\t列2\t列3"
# 输出:列1	列2	列3
echo -e "删除符\b"      # \b 退格,去掉前一个字符
# 输出:删除

单引号与双引号区别

单引号原样输出,双引号解析变量与命令;反斜杠可转义特殊字符:

price=100
echo '价格是 $price'
# 输出:价格是 $price
echo "价格是 $price 元"
# 输出:价格是 100 元
echo "转义\"引号\""
# 输出:转义"引号"

不换行输出

echo 默认在末尾加换行,用 -n 取消换行;\c 也有同样效果:

echo -n "请输入姓名:"
echo "正在下载..."
# 输出:请输入姓名:正在下载...
echo -e "loading\c"
echo " done"
# 输出:loading done

echo 配合命令替换

把命令结果直接嵌入字符串中:

echo "当前用户:$(whoami)"
# 输出:当前用户:root
echo "主机名:`hostname`"
# 输出:主机名:web-server

echo 输出到文件

使用重定向 > 覆盖、>> 追加,把输出写入文件:

echo "hello" > test.txt
echo "world" >> test.txt
cat test.txt
# 输出:
# hello
# world

小结

echo 是 Shell 脚本的基础输出工具:普通文本直接打印,变量加 $ 解析,-e 开启转义换行,-n 不换行,配合 > / >> 重定向还能把内容写进文件。

笔记加载中…