Shell中常用的引号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell中常用的引号相关的知识,希望对你有一定的参考价值。

Shell之引号

Shell中经常会使用到单引号、双引号、反引号(键盘中Tab键上方的按键)、反斜线(转换某些Shell元字符的含义)。如我们有时希望echo命令输出的字符中就包含$符号本身,但一般情况下,Shell会将$视为取变量值,像这样的情况我们需要使用某些功能来屏蔽$符号本身的特殊含义,使其还原字面意义。

1. 反斜线

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

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

[[email protected] ~]# echo *                        #显示当前目录的所有文件列表

anaconda-ks.cfginstall.log install.log.syslog

[[email protected] ~]# echo \*                       #显示*字符

*

[[email protected] ~]# echo \>                       #显示>符号

[[email protected] ~]# find / \                      #换行输入多行命令

> -name"test.txt" \

> -type f\

> -size+5M

    2. 单引号

单引号可以将它中间的所有任意字符还原为字面意义,实现屏蔽Shell元字符的功能。注意,不可以在两个单引号中间单独插入一个单引号,单引号必须成对出现。

[[email protected] ~]# echo ‘$HOME‘                  #单引号将屏蔽$的特殊功能

$HOME

[[email protected] ~]# echo ’test\’                  #默认\为转义换行,这里也被屏蔽

test\


    3. 双引号

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

[[email protected] ~]# echo "This‘s book."

This‘s book.

[[email protected] ~]# echo "$HOME"

/root

[[email protected] ~]# echo "\$HOME"

$HOME


    4. 反引号

Shell中使用反引号进行命令替换,命令替换使Shell可以将命令字符替换为命令执行结果的输出内容。同样的功能也可以使用$()来实现。

[[email protected] ~]# echo "Today is `date +%D`"

Today is 02/09/13

[[email protected] ~]# echo "Today is $(date +%D)"

Today is 02/09/13

本文出自 “丁丁历险” 博客,请务必保留此出处http://manual.blog.51cto.com/3300438/1897846

以上是关于Shell中常用的引号的主要内容,如果未能解决你的问题,请参考以下文章

Linux Shell 常用命令

1.shell学习之常用语句

shell常用命令

Shell字符串

Shell字符串

02.shell字符串