1
從我讀過的tldp.org中,雙括號構造((...))
允許您引用不帶$
前綴的bash變量。然而,試圖引用計數參數變量$#
時,腳本拒絕與bash中的雙括號構造中的參數計數變量
bash: ((: i < # : syntax error: operand expected (error token is "# ")
奇怪的是,當散列前綴工作,腳本工作正常。
供您參考,這裏的工作代碼:
fun(){
i=0
while ((i < $#)); do
echo $1;
shift
done
}
我的問題是:我怎麼知道什麼時候是正確的,包括前綴,當它是不是?
謝謝你的解釋。你知道我在哪裏可以找到有關'(())'結構的更好的文檔嗎? – seininn 2012-01-07 12:59:51