歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix教程

Unix 反引號知識講解

今天,我們來學習下Unix 反引號的知識。首先,我們來說說什麼是Unix 反引號。反引號(`)這個字符所對應的鍵一般位於鍵盤的左上角,不要將其同單引號(’)混淆。

反引號括起來的字符串被shell解釋為命令行,在執行時,shell首先執行該命令行,並以它的標准輸出結果取代整個反引號(包括兩個反引號)部分。
例如:
 

  1. ___FCKpd___0nbsp;pwd  
  2. /home/xyz  
  3. ___FCKpd___0nbsp;string=”current directory is `pwd`”  
  4. ___FCKpd___0nbsp;echo $string  
  5. current directour is /home/xyz  
  6. ___FCKpd___0nbsp;

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

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

  1. ___FCKpd___1nbsp;today=`date`  
  2. ___FCKpd___1nbsp;echo Today is $today  
  3. Today is Mon Apr 15 16:20:13 CST 1999  
  4. ___FCKpd___1nbsp;

Unix 反引號還可以嵌套使用。但需注意,嵌套使用時內層的Unix 反引號必須用反斜線(\)將其轉義。例如:
 

  1. ___FCKpd___2nbsp;abc=`echo The number of users is \`who| wc-l\``  
  2. ___FCKpd___2nbsp;echo $abc  
  3. The number of users is 5  
  4. ___FCKpd___2nbsp;

在Unix 反引號之間的命令行中也可以使用shell的特殊字符。Shell為得到``中命令的結果,它實際上要去執行``中指定的命令。執行時,命令中的特殊字符,如$,”,?等又將具有特殊含義,並且``所包含的可以是任何一個合法的Shell命令,如:
 

  1. ___FCKpd___3nbsp;ls  
  2. note readme.txt Notice Unix.dir  
  3. ___FCKpd___3nbsp;TestString=”`echo $HOME ` ` ls [nN]*`”  
  4. ___FCKpd___3nbsp;echo $TestString  
  5. /home/yxz note Notice 

關於Unix 反引號的知識,我們就暫時介紹到這裡了,希望大家能夠給我們更多的關注。

Copyright © Linux教程網 All Rights Reserved