0
我一直在嘗試爲我的項目之一編寫非常基本的通用 bash選項解析器。這個想法是如下:將元素添加到bash數組
- I進料的命令行參數的列表,其中一些是選項
- 我想提取的選項到一個單獨的陣列
- 我將結束與兩個陣列:用於參數
- 一個陣列
- 一個用於選擇
注意:我不在乎可選的選項和帶參數的選項。對我而言,所有選項都是開關。
這裏是我此刻的代碼:
parse() {
options=()
arguments=()
for arg
do
if [[ $arg = -* ]]
then
options+=("$arg")
else
arguments+=("$arg")
fi
done
echo $options
echo $arguments
}
# $ parse --one --two -v "FOO" "BAR"
# => --one
# => FOO
的問題,因爲你可以在輸出中看到的,是隻有第一個選項,第一個參數都存儲在數組中。
我在做什麼錯誤?