我有loc_list0,1,2,3, 我尝试有效地进行操作并输入
b=0
while [ $b -lt 4 ]
do
grep -c "${loc_list$b[0]}" Record$b.txt
done
它表示$ {loc_list $ b [0]}上的错误替换,但记录$ b的确定。背后的原因是什么?我是bash shell的新手,任何人都可以告诉我如何修复它而不是编写重复的代码。
谢谢你! 但是当我想使用两个varibales进行迭代时,会出现另一个问题 谢谢你,我有两个变量怎么样 b和c用作计数迭代次数 这样:
b=0
c=0
while [ $b -lt 5 ]
do
temp_length=( "${loc_list$b[@]}" )
while [ $c -lt ${#temp_length[@]} ]
do
...
c=$((c+1))
done
...
b=$((b+1))
done
这次如何解决不良替代?
答案 0 :(得分:4)
您需要使用间接参数替换。对于数组,您想要的索引将被视为名称的一部分。
name=loc_list$b[0]
grep -c "${!name}" Record$b.txt
Record$b.txt
有效,因为它是一个简单的字符串连接,Record
+ $b
+ .txt
。您不会尝试进一步扩展结果。