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 不换行,配合 > / >> 重定向还能把内容写进文件。