我想运行具有指定参数设置的Java应用程序,并且一些参数将来自列表的迭代。 这可能是正确的方法吗?非常感谢!
outs="/home/user/this.vcf /home/user/that.vcf /home/user/simulation/control.vcf"
arr=($outs)
ending=3
for ((i=1;i<=ending;i++)); do
java -Xmx32g -jar /home/user/something.jar \
-o $arr[i] \
done
答案 0 :(得分:1)
您不需要硬编码计数。只需像这样迭代数组:
outs=( "/home/user/this.vcf" "/home/user/that.vcf" "/home/user/simulation/control.vcf" )
for word in "${outs[@]}"; do
java -Xmx32g -jar /home/user/something.jar -o "$word"
done
答案 1 :(得分:0)
你缺少括号。另外,请注意shell数组是从零开始的,因此需要修改for
语句:
for ((i=0;i<ending;i++)); do
java -Xmx32g -jar /home/user/something.jar \
-o ${arr[i]} \
done