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

  • 格式:doc
  • 大小:33.50 KB
  • 文档页数:4

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。