CURRENT=`pwd`
echo $CURRENT
以上兩行厲害吧?其實就是使用了反引號而已,注意pwd邊上的那兩撇不是單引號,是鍵盤左上角1邊上的那個鍵。
下面是一點相關的資料
來源是http://hi.baidu.com/lzwwqk/blog/item/40a3f41bb4f8b3fbae513358.html
反引號 `
反引號(`)這個字符所對應的鍵一般位于鍵盤的左上角,不要將其同單引號(’)混淆。反引號括起來的字符串被shell解釋為命令行,在執(zhí)行時,shell首先執(zhí)行該命令行,并以它的標準輸出結果取代整個反引號(包括兩個反引號)部分。例如:
$ pwd
/home/xyz
$ string=”current directory is `pwd`”
$ echo $string
current directour is /home/xyz
$
shell執(zhí)行echo命令時,首先執(zhí)行`pwd`中的命令pwd,并將輸出結果/home/xyz取代`pwd`這部分,最后輸出替換后的整個結果。
利用反引號的這種功能可以進行命令置換,即把反引號括起來的執(zhí)行結果賦值給指定變量。例如:
$ today=`date`
$ echo Today is $today
Today is Mon Apr 15 16:20:13 CST 1999
$
反引號還可以嵌套使用。但需注意,嵌套使用時內層的反引號必須用反斜線(\)將其轉義。例如:
$ abc=`echo The number of users is \`who| wc-l\``
$ echo $abc
The number of users is 5
$
在反引號之間的命令行中也可以使用shell的特殊字符。Shell為得到``中命令的結果,它實際上要去執(zhí)行``中指定的命令。執(zhí)行時,命令中的特殊字符,如$,”,?等又將具有特殊含義,并且``所包含的可以是任何一個合法的Shell命令,如:
$ ls
note readme.txt Notice Unix.dir
$ TestString=”`echo $HOME ` ` ls [nN]*`”
$ echo $TestString
/home/yxz note Notice