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