Shell 中引号

字体: | 打印

在Shell中引号分为三种:单引号、双引号和倒引号。

(1)双引号

由双引号括起来的字符,除$、倒引号(`)和反斜线(\)仍保留其特殊功能外,其余字符均作为普通字符对待。“$”表示变量替换,即用其后指定的变量的值来代替$和变量;倒引号表示命令替换;仅当“\”后面的字符是下述字符之一时,“\”才是转义字符,这些字符是:“$”、“`”、“"”、“\”或换行符。转义字符告诉Shell不要对其后面的那个字符进行特殊处理,只是当作普通字符。例如:

QUOTE:

$ echo "My current dir is `pwd` and logname is $LOGNAME"
My current dir is /home/mengqc and logname is mengqc
(2)单引号



由单引号括起来的字符都作为普通字符出现。例如,

QUOTE:

$ echo 'The time is ` date ` , the file is $HOME/abc '
The time is ` date ` , the file is $HOME/abc
(3)倒引号

倒引号括起来的字符串被shell解释为命令行,在执行时,Shell会先执行该命令行,并以它的标准输出结果取代整个倒引号部分。在前面示例中已经见过。例如,

QUOTE:

$ echo current directory is ` pwd `
current directory is /home/mengqc