linux中的单引号、双引号、反引号

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

linux单引号、双引号、反引号

1.反单引号(上分隔符,位于tab键上方):

在linux命令行中,若命令行中以反单引号(也被称为上分割符,位于tab键上方)包含`...`字符串时,会首先执行``(上分割符)中包含的命令,然后将其输出插入到上分割符所在位置。这就是linux中的命令替换。1对``被称为上分割符。

命令替换类似于linux中的管道,区别在于命令替换是将`...`上分割符中命令的输出插入到上分割符所在位置,而管道是将前一命令的输出作为后一命令的输入。

示例:

# echo `help`

首先执行help命令,然后将help命令的输出插入到上分割符所在位置。该命令也等效于:

# echo $(help)

2.单引号:

单引号‘’用来保护指定文字不被转换格式——单引号会忽略所包含的所有特殊字符。

通常使用单引号来保证指定字符串按原样输出。

示例:

# echo '$*>

$*>

# echo '\\\\'

\\\\

# echo ‘`help`’

`help`

注意,可在命令中使用反单引号``(也被称为上分割符,位于tab键上方)包含其它命令,则shell 会首先执行反单引号内的命令,将该命令的输出插入到反单引号所在位置——命令替换。比如echo `help`,将首先执行help命令,将help命令的输出插入到上分割符所在位置,则最终会按照echo命令的格式输出help命令的输出。

若在单引号‘’中使用反单引号``,则会屏蔽反单引号的命令替换作用,而直接原样输出反单引号以及它所包含的内容。

# echo 'today is `date`'

today is `date` # 单引号会屏蔽上分割符的“命令替换”功能

3.双引号:

双引号“”用来包含文字或函数段。在双引号中,除以下元素外,其余都是按原样输出:

●``反单引号(上分割符)修饰的函数;

●‘$’开头的变量;

●‘\’开头的转义字符。

单引号会屏蔽所包含的所有特殊字符,而双引号会屏蔽大多数特殊字符(但不包括以上3种)。

双引号的主要作用是将带有空格的字符串赋值给变量。比如:

$ str = "today is Monday"

$ echo str

today is Monday

若在上述语句中不使用双引号,则shell会将空格后的部分解释成命令。比如

$ str = today is Monday

bash: is: command not found

示例:

echo "today is `date`"

today is Fri Jul 4 08:07:07 GMT 2008

echo "\\\\"

\\

echo "test "test""

test test

相关文档
最新文档