輸入處理
位置參數#
Positional Parameters,腳本嘅位置參數。
$0
:腳本名,包含路徑。$1
:第一個參數,以此類推。${10}
:大於 9 嘅參數要用花括號。
BASENAME#
可以去掉腳本嘅路徑,只保留名稱。
腳本中嘅用法。
特殊參數#
參考呢度。
移動參數#
shift
命令可以把位置參數左移一位。
腳本選項#
選項就係以喺單個連字符後跟單個字母,如:-a
。由於選項同參數都係出現喺腳本嘅後面,為咗區分開嚟,一般係用雙連字符 --
,左邊係選項,右邊係參數,例如。
要喺腳本中正確解釋選項同參數,唔係一件容易嘅事,為此官方提供咗兩個工具。
getopt
- 外部命令。
- 支持長選項,如
--help
。 - 適合複雜嘅命令行工具。
getopts
Github 上面都有唔少選項解釋項目。
getopt 命令#
optstring
:選項嘅定義。parameters
:選項嘅內容。
例如對於 optstring=ab:c
。
- 單字母
a
同 c
代表無值選項。 - 字母
b
後跟 :
表示有值選項。
睇下下面例子嘅輸出。
可以睇到佢使用 --
把選項同參數分隔開咗。
getopts 命令#
getopts
係 Bash 嘅內置命令,佢會逐個解釋選項,然後把選項嘅信息存儲喺特定變量中,方便腳本訪問。呢個先係畀我呢啲小菜雞用嘅命令。
name
:當前選項嘅名稱。OPTIND
:每處理一個項目,該值會加 1。OPTARG
:如果選項有值,會保存在呢個變量中。