AIX作業系統shell的引數(轉)

ba發表於2007-08-11
AIX作業系統shell的引數(轉)[@more@]通常呼叫UNIX程式的格式是:
command options files

一些與傳遞給shell的引數相關的變數:
$# 命令列引數的個數
$? 呼叫命令的返回值
$$ 當前程式的程式號
$! 最後一個後臺命令的程式號
$0 命令列的第一個引數,也就是命令名
$n 命令列的第n個引數,如果要取超過9個引數${n}
$* 所有的命令列引數,等於("$1 $2...")
"$@" 所有的命令列引數,等於("$1" "$2"...)
$_ 前一個命令的最後一個命令列引數shell指令碼的選項(option)解析

一般有兩種主要的方法來分析傳遞給shell script的選項(option)。第一種方法是利用上述的shell variables和shift等命令,配合case命令來直接分析,在引數的個數比較少的情況下,這種方法比較常用。但如果引數數量比較多,就需要使用 getopts命令。

命令格式:

getopts option-string variable

getops解析命令列傳遞的引數的處理過程為:

1.getopts檢查所有的命令列引數,查詢以字元"-"開始的引數。

2.當找到以字元"-"開始的引數,將 "-"之後的字串和option-string比較。

3.如果找到符合的匹配,則指定的變數被設定,否則,此變數被設成?字元。

4.重複1到3,直到所有的選項被處理。

5.當分析結束,getopts返回一個非0返回值,這常用做迴圈的判斷條件。另外,當getopts結束時,它還將變數OPTIND設為最後一個引數的下標。

【注意】當選項後面需要跟一個附加的引數時(如-i intputfile),在option-string中需要在相應的option中加冒號(如i: )。在這種情況下,當解析到此選項時,附加的引數會被賦值給OPTARG變數。

舉例:

下面的shell清單將能夠分析:

-i 指定輸入的檔名

-o 指定輸出的檔名

-v 指定使用詳細模式

shell script清單:
QUOTE:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-947722/,如需轉載,請註明出處,否則將追究法律責任。

AIX作業系統shell的引數(轉)
請登入後發表評論 登入
全部評論

相關文章