-
区分三种定界符
-
"":双引号,允许扩展,以$引用其他变量。 -
'':单引号,禁用扩展,即便$也视为普通字符。 -
``:反引号,将命令的执行输出作为变量值,$()与反引号效果基本一致,只能放命令,- 但是两者还是有区别的:反引号本身就对
\进行了转义,想在反引号中起到\的特殊意义,必须使用2个\来进行表示(例如:\\ = \),$()中则不需要考虑\的问题,与平常使用的一样:\ = \。
- 但是两者还是有区别的:反引号本身就对
-
反引号齐本身就对\进行了转义,保留了其本身意思,如果我们想在反引号中起到\的特殊意义,我们必须使用2个\来进行表示。
所以我们可以简单的想象成反引号中: \ = \
$()中则不需要考虑\的问题,与我们平常使用的一样:\ = \。
-
举例
// "" 使用 $ echo "$USER id is $UID" dzm id is 501 // '' 使用 $ echo '$USER id is $UID' $USER id is $UID // `` 使用 $ test=`ls -l` $ echo $test total 48 drwxr-xr-x@ 39 dzm staff 1248 12 29 11:32 GitHub drwxr-xr-x@ 7 dzm staff 224 11 29 09:46 MaYun // $() 使用,与 `` 完全等值 $ test=$(ls -l) $ echo $test total 48 drwxr-xr-x@ 39 dzm staff 1248 12 29 11:32 GitHub drwxr-xr-x@ 7 dzm staff 224 11 29 09:46 MaYun