2
我的腳本部分採用所有參數並查找任何標誌選項。我試圖將這些保存到我的數組中,但它似乎不匹配。我無法弄清楚,我錯過了什麼?如何匹配bash中的連字符
#!/bin/bash
ALL_PARAMS=("[email protected]")
ARGUMENTS=()
OPTIONS=()
for i in ${ALL_PARAMS[@]}
do
if [ $i == ^- ]
then
ARGUMENTS+=($i)
else
OPTIONS+=($i)
fi
done
echo ${ARGUMENTS[@]}
echo ${OPTIONS[@]}
您是否需要'$ i =〜^ -'來進行正則表達式匹配,而不是'=='? (也許^ - $匹配整個字符串,而不僅僅是開始) – TessellatingHeckler
是的,我搞砸了語法,結束了工作。謝謝! – Boozle
您還應該對變量引用進行雙引號引用(例如'for {i'in「$ {ALL_PARAMS [@]}」')。 –