變數運算子
父shell 指令碼總是運行在 子shell 環境中。子shell 只能看到 環境變數的副本,而不能看到父shell的 本地變數;父shell 看不見子shell的本地變數,但可以看見子shell匯出的環境變數
大括弧擴充{},優先順序高於變數替換!左、右大括弧{}和其中的各個內容之間必須緊緊相連,不能有空白;內容之間也必須通過逗號“,”緊緊相連!
shell變數預設類型是字串,可以使用雙引號“ "字串" ”或單引號“ '字串' ”來明確表示,二者的區別是雙引號字串支援$變數擴充!
變數擴充${} 左、右大括弧{}和其中的變數標識符之間必須緊緊相連,不能有空白!預設,bash對變數的名稱識別是字!
測試運算式運算子 “[ express ]” 必須和其他的express之間留有空白!
測試運算式運算子 “[ express ]” 必須和其他的express之間留有空白!另外,express中的運算子和變數之間必須留有空白,否則,你死了!
將變數作為數實值型別進行運算 “$[express]”,express與兩側留不留空白均可!
“` 命令`”用來執行命令,擷取命令的輸出資訊,命令和左右“`”符號之間可以留有空白!
跟在命令後面的不加引號的字串會進行萬用字元“*、?”的替換,切記!如果不想使用引號,可以使用逸出字元來轉義這些萬用字元
預設,bash以一行為一個命令,依次執行。可以通過分號“;” 把多個命令寫在一行,從左至右依次執行各個命令!
&&分隔字元告訴bash,只有前面的命令執行成功才執行後面的命令;是if語句的 運算子形式
||分隔字元告訴bash,只有前面的命令執行失敗才執行後面的命令;是if語句的 運算子形式
case語句中的特殊運算子 “ 字串) ” 和 break 語句運算子 “ ;; ”。 “ 字串) ” 字串和運算子之間不能有空白;break運算子則可以保留空白!
hereisdocument 運算子 “<<identity ..... identity” 類似於管道