echo命令
echo用于输出字符串。
命令格式:
echo STRING
显示普通字符串
echo "Hello AC Terminal"
echo Hello AC Terminal # 引号可以省略
显示转义字符
echo "\"Hello AC Terminal\"" # 注意只能使用双引号,如果使用单引号,则不转义
echo \"Hello AC Terminal\" # 也可以省略双引号
显示变量
name=yxc
echo "My name is $name" # 输出 My name is yxc
显示换行
echo -e "Hi\n" # -e 开启转义
echo "acwing"
输出结果:
Hi
acwing
`-e` 支持的常用转义字符
| 转义符 | 含义 |
|---|---|
\n |
换行 |
\t |
制表符(Tab) |
\\ |
反斜杠本身 |
\c |
抑制后面的输出换行(见下节) |
\a |
响铃 |
\0nnn |
八进制 ASCII 字符 |
注意:不加 -e 时这些转义符会被原样输出,即 echo "Hi\n" 输出的就是字面量 Hi\n。
显示不换行
echo -e "Hi \c" # -e 开启转义 \c 不换行
echo "acwing"
输出结果:
Hi acwing
显示结果定向至文件
echo "Hello World" > output.txt # 将内容以覆盖的方式输出到output.txt中
原样输出字符串,不进行转义或取变量(用单引号)
name=acwing
echo '$name\"'
输出结果
$name\"
显示命令的执行结果
echo `date`
输出结果:
Wed Sep 1 11:45:33 CST 2021
echo 与 printf 的选用
echo 胜在简单,但有两个先天缺陷:一是不同 shell/系统对参数的解释不一致(如 echo -n、echo -e 在某些实现下行为有差异,POSIX 也不保证),二是没有格式化能力(无法控制宽度、小数位)。对输出格式有要求(对齐、补零、精度)或在意可移植性时,用下一节的 printf;临时打印信息用 echo 即可。
💬 评论