shell脚本编程之终端打印

【版权声明:转载请保留出处:blog.csdn.net/gentleliu。邮箱:shallnew*163.com】

echo是用于终端打印的操作。默认情况下,echo在每次调用后添加一个换行符。
下面三条命令输出一样:
echo "hello world!"
echo 'hello world!'
echo hello world!
看起来加双引号,单引号或不加引号用法类似,但各有一些特殊用途和副作用。
如果你想打印出如下内容:
hello world!"how are you?"

使用命令:
echo "hello world! "how are you?""
echo hello world! "how are you?"
得到的结果都是:
hello world! how are you?
使用如下命令得到预期结果:
echo 'hello world! "how are you?"'
echo "hello world! \"how are you?\""
所以,<1>. 使用单引号会直接打印出单引号里面内容,使用双引号时打印特殊字符需要使用转义字符来转义,使用双引号和不使用引号作用类似。

用下面命令输出用户目录:
echo "My home is $HOME"
echo 'My home is $HOME'
得到结果:
My home is /home/allen
My home is $HOME
所以,<2>, 使用单引号的echo时,shell不会对单引号中的变量求值,而是照原样显示。

如下命令:
echo "Hello world!;date"
echo Hello world!;date
结果为:
Hello world!;date
Hello world!
Wed Apr  2 10:47:40 CST 2014
所以,<3>, 没有使用双引号时分号后面会被认作一个命令执行,在bash中,每个命令或命令序列是通过;或换行符来分隔的。

你可能感兴趣的:(shell脚本编程之终端打印)