'string' 單引號 (single quote)
被單引號用括住的內容,將被視為單一字串。在引號內的代表變數的$符號,沒有作用,也就是說,他被視為一般符號處理,防止任何變數替換。
heyyou=homeecho
'$heyyou'
# we get $heyyou
\"string\" 雙引號 (double quote)
被雙引號用括住的內容,將被視為單一字串。它防止萬用字元擴充套件,但允許變數擴充套件。這點與單引數的處理方式不同。
heyyou=homeecho \
"$heyyou
\" # we get home
; 分號 (command separator)
在 shell 中,擔任\"
連續指令
\"功能的符號就是\"分號\"。譬如以下的例子:cd ~/backup ; mkdir startup ;cp ~/.* startup/.
~ 帳戶的 home 目錄
# 井號 (comments)
這幾乎是個滿場都有的符號,除了先前已經提過的\"第一行\"
#!/bin/bash
井號也常出現在一行的開頭,或者位於完整指令之後,這類情況表示符號後面的是註解文字,不會被執行。
# this line is comments.
echo \"a = $a\" # a = 0
由於這個特性,當臨時不想執行某行指令時,只需在該行開頭加上 # 就行了。這常用在撰寫過程中。
, 逗點 (comma,標點中的逗號)
這個符號常運用在運算當中當做\"區隔\"用途。如下例
#!/bin/bashlet \"t1 = ((a = 5 + 3, b = 7 - 1, c = 15 / 3))\"echo \"t1= $t1, a = $a, b = $b\"
| 管道 (pipeline)
pipeline 是 unix
系統,基礎且重要的觀念。鏈結上個指令的標準輸出,做為下個指令的標準輸入。
who | wc -l
! 驚嘆號(negate or reverse)
通常它代表反邏輯的作用,譬如條件偵測中,用 != 來代表\"不等於\"
if [ \"$?\" != 0 ]thenecho \"executes error\"exit 1fi
在規則表示式中她擔任 \"反邏輯\" 的角色
ls a[!0-9]
上例,代表顯示除了a0, a1 .... a9 這幾個
檔案的其他檔案。
: 冒號
在 bash 中,這是乙個內建指令:\"什麼事都不幹\",但返回狀態值 0。
: echo $? # 回應為 0
: > f.$$
上面這一行,相當於 cat /dev/null >f.$$。不僅寫法簡短了,而且執行效率也好上許多。
有時,也會出現以下這類的用法
: $ $ $
這行的作用是,檢查這些環境變數是否已
設定,沒有設定的將會以標準錯誤顯示錯誤訊息。像這種檢查如果使用類似 test 或 if這類的做法,基本上也可以處理,但都比不上上例的簡潔與效率。
? 問號 (wild card)
在檔名擴充套件(filename expansion)上扮演的角色是匹配乙個任意的字元,但不包含 null 字元。
# ls a?a1
善用她的特點,可以做比較精確的檔名匹配。
* 星號 (wild card)
相當常用的符號。在檔名擴充套件(filename expansion)上,她用來代表任何字元,包含 null 字元。
$ 錢號(dollar sign)
變數替換
(variable substitution)的代表符號。
vrs=123echo \"vrs = $vrs\" # vrs = 123
|| 邏輯符號
這個會時常看到,代表 or 邏輯的符號。
&& 邏輯符號
這個也會常看到,代表 and 邏輯的符號。
& 後台工作
單乙個& 符號,且放在完整指令列的最後端,即表示將該指令列放入後台中工作。
tar cvfz data.tar.gz data > /dev/null&
shell指令碼之符號與命令
1.理解 和 反引號在shell指令碼中有獨特的作用,凡是被反引號包括的內容shell會先執行該命令,再將該命令的輸出結果代換到當前命令列中。所以反引號的作用是命令替換。則是算數代換,在shell指令碼中,被雙括號括起來的算數命令可以被替換成算術結果。中只能用 運算子進行算數運算,而且只能做整數運算...
shell指令碼符號小結
大多數的shell指令碼都是以 bin sh開頭的,是對該shell指令碼的宣告,說明這個shell指令碼的型別及執行路徑。1.在shell指令碼中表示的注釋,但是 卻不是。2.表示的當前賬戶的home目錄。3.表示連續命令,我們在c語言程式設計時就經常用到。4.單引號表示單一字元。5.雙引號表示單...
shell指令碼符號篇
hell執行指令碼 bin bash echo 這是乙個shell指令碼 shell指令碼中用 表示注釋,如果 位於第一 開頭 並且是則例外,它表 該指令碼使 後 指定的直譯器 bin sh解釋執 第一種執行方式 chmod x script.sh shell會 fork 乙個子程序並調 用 exe...