Shell中常用的引号

简介:

Shell之引号

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

1. 反斜线

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

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

[root@centos7 ~]# echo *                        #显示当前目录的所有文件列表

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

[root@centos7 ~]# echo \*                       #显示*字符

*

[root@centos7 ~]# echo \>                       #显示>符号

[root@centos7 ~]# find / \                      #换行输入多行命令

-name"test.txt" \

-type f\

> -size+5M

    2. 单引号

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

[root@centos7 ~]# echo '$HOME'                  #单引号将屏蔽$的特殊功能

$HOME

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

test\


    3. 双引号

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

[root@centos7 ~]# echo "This's book."

This's book.

[root@centos7 ~]# echo "$HOME"

/root

[root@centos7 ~]# echo "\$HOME"

$HOME


    4. 反引号

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

[root@centos7 ~]# echo "Today is `date +%D`"

Today is 02/09/13

[root@centos7 ~]# echo "Today is $(date +%D)"

Today is 02/09/13























本文转自丁丁历险51CTO博客,原文链接: http://blog.51cto.com/manual/1897846,如需转载请自行联系原作者


相关文章
|
Shell
Shell 多种引号的区别(““、‘‘、``、$())
Shell 多种引号的区别(““、‘‘、``、$())
329 0
|
Shell
shell中引号区别
shell中引号区别
174 0
shell中引号区别
|
Shell
Shell中反引号(`)与$()用法的区别
今天有人提问:   echo `echo \\\\\\\w` echo $(echo \\\\\\\w) 为什么输出的不一样?   这就引申出了另一个问题:反引号与$()有没有区别? 这是一个非常有意思的问题,但要解释这个问题确比较困难,我来换一个简单一点的例子,通俗的解释一下。
1173 0
|
Shell
shell中引号的应用
1. $ echo Hit to exit *  返回 Hit to exit  gd1.pl invoice.xml inXML.dtd pdate.pl perl1.pl perl2.pl perl3.
743 0
|
6月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
563 9
|
6月前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
548 2
|
9月前
|
Shell
Shell脚本循环控制:shift、continue、break、exit指令
使用这些命令可以让你的Shell脚本像有生命一样动起来。正确使用它们,你的脚本就能像一场精心编排的舞蹈剧目,既有旋律的起伏,也有节奏的跳跃,最终以一场惊艳的表演结束。每一个动作、每一个转折点,都准确、优雅地完成所需要表达的逻辑。如此,你的脚本不只是冰冷的代码,它透过终端的界面,跳着有节奏的舞蹈,走进观众——使用者的心中。
332 60