bash指令碼程式設計之選項
getopts: getopts 選項字串 名稱 [引數]
解析選項引數。
getopts 被 shell 過程用於解析可定位的引數作為選項。
optstring 字串包含待識別的選項字母;如果乙個字母後面跟
著冒號,則該選項期待乙個引數,而該引數應用空格與選項分開。
每次啟動時,getopts 會將下乙個選項放到 shell 變數 $name
中,如果 name 變數不存在則先將其初始化,而下乙個待處
理的引數序號放入 shell 變數 optind 中。optind 變數在每
次 shell 或者 shell 指令碼啟動時都被初始化為1。當乙個選項要
求有乙個引數時,getopts 將引數放入 shell 變數 optarg
中。getopts 有兩種報告錯誤的方法。如果 optstring 變數的第
乙個字元是冒號,getopts 使用沉默錯誤報告。在這種模式
下,不會列印錯誤訊息。如果看到了乙個無效的選項,
getopts 將找到的選項字元放至 optarg 變數中。如果乙個必
須的選項沒有找到,getopts 放乙個 ':' 到 name 變數中並且設
置 optarg 變數為找到的選項字元。如果 getopts 不在沉默模
式中,並且遇到了乙個無效的選項,getopts 放置乙個 '?' 到 name
變數中並且反設定 optarg變數。如果必須的選項沒有找到,
乙個'?'會被放入 name變數中,optarg 將被反設定,並且會
列印乙個診斷資訊。
如果 shell 變數 opterr 的值為0,getopts 禁用
錯誤資訊的列印,即使 optstring 變數的第乙個字元不是一
個冒號。opterr 的預設值為1.
getopts 通常解析可定位的引數($0 - $9),不過如果提供了
更多的引數,它們反而會被解析。
getopts ":b:d:" swich
第乙個冒號表示不顯示錯誤資訊
b和d表示接受的引數,並儲存至swich中
b和d後面的冒號表示必須要接受乙個引數
選項後的引數儲存至getopts內建變數optarg中,一次僅乙個(多個選項用迴圈讀取)
bash指令碼程式設計之case語句及指令碼選項高階
case語句及指令碼選項高階詳解 面向過程程式語言中的控制流 即程式當中的語句 預設是順序執行的。程式語言的控制結構一共有三類 1,順序結構 2,選擇結構 1 if語句 單分支的if語句 格式 if condition1 then expression fi 雙分支的if語句 格式 if condi...
BASH指令碼程式設計之條件測試
條件測試 判斷某需求是否滿足,需要由測試機制來實現 如何編寫測試表示式以實現所需的測試 1 執行命令,並利用命令狀態返回值來判斷 0 成功 1 255 失敗 2 測試表示式 test expression expression expression 注意 expression兩端必須有空白字元,否則...
bash程式設計之 函式
函式 復用 模組程式設計 語法 function f name f name 呼叫 使用函式名 函式名出現的地方,會被自動替換為函式 練習 利用函式改寫此前的服務指令碼 bin bash prog basename 0 lockfile var lock subsys prog start stop...