基本使用
echo 命令把参数输出到标准输出,例如
$ echo hello world
hello world
hello 和 world 都是 echo
命令的参数,echo 命令它们都输出到标准输出。
-n 选项
echo
命令有一个特性,它不仅会把参数输出到标准输出,还会输出一个换行符。例如,下面计算下echo
命令输出的字节数
$ echo "hello world" | wc -c
12
wc -c 用来计算字符串的字节数。
hello world
其实只有11个字节,但是计算出来有12个字节,这是因为echo
命令输出了一个换行符。
然而有时候不需要这个换行符,例如在脚本请求输出的时候
$ echo "Enter your name -> "; read name; echo "Your name is $name"
Enter your name ->
Pekky
Your name is Pekky
一般地,我们都都希望在提示后直接输入名字,而不是换一行来输入,因此可以给echo
命令加上-n
参数,这样就可以不让echo
命令输出末尾的换行符
$ echo -n "Enter your name -> "; read name; echo "Your name is $name"
Enter your name -> Pekky
Your name is Pekky
-e 选项
有时候,我们希望使用echo
格式化输出一个字符串,例如加一个水平制表符
$ echo "\tHello world"
\tHello world
然而,echo
默认是不识别转译序列\t
,于是直接把\t
当做字符串输出了。
我们可以使用-e
选项,使转译序列生效
$ echo -e "\thello world"
hello world