欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Shell基础引号详解,知识点学习汇总】这个姿势你一定能读懂

程序员文章站 2022-07-15 11:00:11
...

Shell基础引号详解,知识点学习汇总

前言

​ 分享一个小知识点,它是Shell引号。虽然文章很简短,,但是其中内容包括单引号、双引号、反引号和反斜线四个类目。预计阅读时间三分钟,希望有所帮助。

Shell引号

​ 在Shell中可以通过使用单引号、双引号、反引号、反斜线来还在那换某些Shell元字符的含义。如果我们有时候希望echo命令输出的字符中 就包含【&】符号本身,单一般情况下Shell会将该符号视为取变量值,像这样的情况我们需要使用某些功能来屏蔽该符号 本身的含义,使其还原字面意思。

反斜线

​ 反斜线可以将紧随其后的单个字符视为字面意义上的字符,比如【*】在Shell中代表任意字符,在查找时经常会使用该符号来查找多个匹配的文件,然而有可能你需要找的就是该字符本身,这个时候【\ *】就会把【 *】作为字母意义上的普通字符。

​ 还有,如果在命令的末尾使用【\】回车后,【\】可以将回车的命令提交功能屏蔽,从而将回车认为是换行继续输入命令,实现命令的多行输入功能。

[[email protected] ~]# echo *				#显示当前目录的所有文件列表
anaconda-ks.cfg initial-setup-ks.cfg
[[email protected] ~]# echo \*				#显示*符号
*
[[email protected] ~]# echo \>				#显示>符号
>
[[email protected] ~]# find / \			#换行输入多行命令
> -name "test.txt" \
> -type f \
> -size +5M

单引号

​ 单引号可以将它中间的所有任意字符还原为字面意义,实现屏蔽Shell元字符的功能。

[[email protected] ~]# echo '$HOME'		#单引号将屏蔽$的特殊功能
$HOME
[[email protected] ~]# echo 'test\'		#默认\为转义换行,这里也被屏蔽
test\

注意:

不可以在两个单引号中间单独插入一个单引号,单引号必须成对出现。

双引号

​ 双引号类似于单引号,但其不会屏蔽【’】、【\】和【$】这三个Shell元字符的含义,如果需要屏蔽这些字符含义,必须前置一个【\】符号,其他字符的功能将被屏蔽(包括单引号)。也就是说,两个双引号之间的单引号不必成对出现。

[[email protected] ~]# echo "This's book."
This's book.
[[email protected] ~]# echo "$HOME"
/root
[[email protected] ~]# echo "\$HOME"
$HOME

反引号

​ Shell中使用范银行进行命令替换,命令替换使Shell可以将命令字符替换为命令执行结束的输出内容。同样的功能也可以使用【$()】来实现。

[[email protected] ~]# echo "Today is `date +%D`"
Today is 04/27/22
[[email protected] ~]# echo "Today is $(date +%D)"
Today is04/27/22

本次分享就到这里了,希望有所帮助。

关注我,持续更新。