在上文根文件系統建立的過程中,需要製作一些可執行的腳本文件,比如rcS,profile。這些腳本里編程使用的是shell語言,需要注意其中的引號。如下:
在shell中引號分爲三種:單引號,雙引號和反引號。
1.單引號 ‘
由單引號括起來的字符都作爲普通字符出現。特殊字符用單引號括起來以後,也會失去原有意義,而只作爲普通字符解釋。例如:
$string=’$PATH’
$ echo $string
結果:$PATH
可見$保持了其本身的含義,作爲普通字符出現。
2. 雙引號 “
由雙引號括起來的字符,除$、、’、和”這幾個字符仍是特殊字符並保留其特殊功能外,其餘字符仍作爲普通字符對待。對於$來說,就是用其後指定的變量的值來代替這個變量和$;對於而言,是轉義字符,它告訴shell不要對其後面的那個字符進行特殊處理,只當作普通字符即可。可以想見,在雙引號中需要在前面加上的只有四個字符$,,’和”本身。而對”號,若其前面沒有加,則Shell會將它同前一個”號匹配。例如:
我們假定PATH的值爲.:/usr/bin:/bin,輸入如下命令:
$ TestString=”$PATH\”$PATH”
$ echo $TestString
結果::/usr/bin:/ bin”$PATH
讀者可以自己試一下在第二個雙引號之前不加會產生什麼結果。
3. 反引號 `
反引號(`)這個字符所對應的鍵一般位於鍵盤的左上角,不要將其同單引號(’)混淆。反引號括起來的字符串被shell解釋爲命令行,在執行時,shell首先執行該命令行,並以它的標準輸出結果取代整個反引號(包括兩個反引號)部分。例如:
$ pwd
/home/xyz
$ string=”current directory is `pwd`”
$ echo $string
current directour is /home/xyz
shell執行echo命令時,首先執行`pwd`中的命令pwd,並將輸出結果/home/xyz取代`pwd`這部分,最後輸出替換後的整個結果。