[linux应用与开发技术学习四]shell编程(2)

本文最后更新于 5 年前,文中所描述的信息可能已发生改变。

引号

在shell中的引号有下面几个种类:

  • 单引号
  • 双引号
  • 倒引号

在使用特殊符号表达的时候,会正常输出显示符号吗?

shell
$ echo *

这个命令真的可以输出 *这个符号吗,不能,*为特殊字符,在命令中不会被正确执行,需要用 \*转化为普通字符后,就可以执行了。

shell
$ echo \*

但是应该字符串带有很多标点符号等其他特殊字符时,需要在每一个特殊符号字符前添加 \,输入效率低,并且不利于阅读。所以引号就有效的解决了这个问题。

单引号

shell
$ echo 'hi,this is my firend.'

被单引号括起来的字符都是普通字符,会被全部显示出来。

但是又因为使用某一些个别特殊的字符的时候,会无法工作,如:$来引用变量:

shell
$ echo '现在的目录为<$HOME>,用户目录为<$USER>'

这个命令将不能工作,但是使用 \会让可读性变差。所以又可以使用另一个引号。

双引号

由双引号括起来的字符(除了 $、倒引号和 \外)均为普通字符。

shell
$ name=user
$ echo "现在是北京时间:`date`,欢迎用户$name"

上面的命令就是使用了倒引号和一些变量来输出的字符。

倒引号

被倒引号括起来的字符为shell解释为命令行,shell会执行里面的命令,再以标准输出结果取代整个倒引号的部分,倒引号在<kbd>Tab</kbd>的上方。

shell
$ today=`date`
$ echo 时间是$today
[linux应用与开发技术学习五]shell编程(3)
[linux应用与开发技术学习三]shell编程(1)