Bash Shell Script Notes (Keywords)保留字: ! esac select } case fi then [[ do for until ]] done function while elif if time else in { 預設變數與環境變數: $? 上個指令執行的回傳值 (0 = 成功執行) $IFS Shell Script 參數間格字元 (空白、Tab 等) $0 Shell Script File Name $1, $2 etc... First Parameter, Second Parameter etc... $# Number of Parameters $$ PID of the Shell Script 自定變數: 定義: foo=123 或 foo="Hello, World" 使用: $foo 或 ${foo} 移除: foo= 或 unset foo 注意: 定義時變數名稱與 = 之間不可以有空白,如 foo = 123 是錯誤的。 test 與 [ 條件判斷: 通常條件判斷會用 test,test 可用來做很多種比對,像比較兩個整數、判斷檔案存在與否等等。 語法: test EXPRESSION test [ EXPRESSION ] [ ] [ OPTION 實際上 [ 通常是 test 的連結(Fedora7 是獨立的),可以用 ls 來觀察如: ls -l /usr/bin/[ /usr/bin/test 通常我們還會用 ] 來對應前面的 [。 test 常用參數: -e FILE 檔案存在 -f FILE 檔案存在並且一般檔案 (較常用) -d FILE 目錄存在 -h FILE 檔案是否為 symbol link (同 -L) -x FILE 檔案是否可執行 -s FILE 檔案大小不是零 -n STRING 字串非零 (not zero) -z STRING 字串為零 (zero string) INTEGER1 -eq INTEGER2 INTEGER1 等於 INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 大於等於 INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 大於 INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 小於等於 INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 小於 INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 不等於 INTEGER2 其他的可看 man test。 if: 然後可以搭配 if 來使用,if 語法如下: if ...condition...; then ...statements... else ...statements... elif ...statements... fi 範例: XFILE=/bin/ls if [ -x ${XFILE} ]; then $XFILE else echo "not executable file" fi switch/case: case ...variable... in ... pattern | patterns ... ) ...statements... ;; esac for 迴圈: for ...variable... in ...variables...; do ...statements... done while 迴圈: while ...condition...; do ...statements... done until ...condition...; do ...statements... done 其他迴圈控制: break continue return 這三個用法與 C 基本上都一樣。 return 後未加數值,會回應最後一個取得的回應值。
星期三, 7月 08, 2009
Bash Shell Script Notes
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言