引号
在shell中的引号有下面几个种类:
- 单引号
- 双引号
- 倒引号
在使用特殊符号表达的时候,会正常输出显示符号吗?
$ echo *
这个命令真的可以输出*
这个符号吗,不能,*
为特殊字符,在命令中不会被正确执行,需要用\
将*
转化为普通字符后,就可以执行了。
$ echo \*
但是应该字符串带有很多标点符号等其他特殊字符时,需要在每一个特殊符号字符前添加\
,输入效率低,并且不利于阅读。所以引号就有效的解决了这个问题。
单引号
$ echo 'hi,this is my firend.'
被单引号括起来的字符都是普通字符,会被全部显示出来。
但是又因为使用某一些个别特殊的字符的时候,会无法工作,如:$
来引用变量:
$ echo '现在的目录为<$HOME>,用户目录为<$USER>'
这个命令将不能工作,但是使用\
会让可读性变差。所以又可以使用另一个引号。
双引号
由双引号括起来的字符(除了$
、倒引号和\
外)均为普通字符。
$ name=user
$ echo "现在是北京时间:`date`,欢迎用户$name"
上面的命令就是使用了倒引号和一些变量来输出的字符。
倒引号
被倒引号括起来的字符为shell解释为命令行,shell会执行里面的命令,再以标准输出结果取代整个倒引号的部分,倒引号在Tab的上方。
$ today=`date`
$ echo 时间是$today
评论内容审核后显示,评论后刷新页面您刚刚评论的内容可能会隐藏哦,不必重复评论 😁