紫風亂寫

          除了他眼前的屏幕,這個人什么也沒看見。
          被周圍的電腦簇擁著,他只知道他所創造的現實,但又意識到那是虛幻。
          他已經超越了技術。也超越了機器。
          posts - 62, comments - 93, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          unix中反引號的應用

          Posted on 2007-04-18 21:14 Justfly Shi 閱讀(1969) 評論(1)  編輯  收藏 所屬分類: tips

          CURRENT=`pwd`
          echo $CURRENT

          以上兩行厲害吧?其實就是使用了反引號而已,注意pwd邊上的那兩撇不是單引號,是鍵盤左上角1邊上的那個鍵。

          下面是一點相關的資料
          來源是http://hi.baidu.com/lzwwqk/blog/item/40a3f41bb4f8b3fbae513358.html

          反引號 `

          反引號(`)這個字符所對應的鍵一般位于鍵盤的左上角,不要將其同單引號(’)混淆。反引號括起來的字符串被shell解釋為命令行,在執行時,shell首先執行該命令行,并以它的標準輸出結果取代整個反引號(包括兩個反引號)部分。例如:

          $ pwd

          /home/xyz

          $ string=”current directory is `pwd`”

          $ echo $string

          current directour is /home/xyz

          $

          shell執行echo命令時,首先執行`pwd`中的命令pwd,并將輸出結果/home/xyz取代`pwd`這部分,最后輸出替換后的整個結果。

          利用反引號的這種功能可以進行命令置換,即把反引號括起來的執行結果賦值給指定變量。例如:

          $ 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為得到``中命令的結果,它實際上要去執行``中指定的命令。執行時,命令中的特殊字符,如$,”,?等又將具有特殊含義,并且``所包含的可以是任何一個合法的Shell命令,如:

          $ ls

          note readme.txt Notice Unix.dir

          $ TestString=”`echo $HOME ` ` ls [nN]*`”

          $ echo $TestString

          /home/yxz note Notice


          評論

          # re: unix中反引號的應用  回復  更多評論   

          2007-08-10 17:08 by dreamstone
          不錯
          主站蜘蛛池模板: 怀化市| 伊金霍洛旗| 长白| 永靖县| 兰溪市| 香格里拉县| 岳阳市| 通海县| 同江市| 浏阳市| 福鼎市| 罗平县| 临邑县| 亳州市| 平阳县| 墨竹工卡县| 三原县| 信阳市| 出国| 临海市| 巴里| 石棉县| 洪洞县| 潜江市| 子长县| 敖汉旗| 深圳市| 元阳县| 满城县| 佛冈县| 福贡县| 襄汾县| 鹤岗市| 庆安县| 许昌市| 涟源市| 兴城市| 繁峙县| 渭源县| 班戈县| 九江县|