我想阅读bash脚本
e.g
test.sh input1 id1 name1 input2 id2 name2 input3 id3 name3
我想将输入读入循环并将三个参数组分配给局部变量并运行不同的命令,例如
for var in "$@"
do
input=$var
id=$var+1
name=$var+2
rawFastq=${input}
echo "input is" $input
echo "id" $id
echo "name is" $name
Rscript "$input"/script1.R ID name
done
如何转到下一个命令行参数。 $var+1
或添加计数器然后执行${i+1}
无效?
答案 0 :(得分:0)
您必须迭代用户参数的元素,就像在任何其他编程语言中一样。例如:
args=("$@")
i=0
while [ $i -lt ${#args[@]} ]; do
input=${args[$i]}
i=$[$i+1]
id=${args[$i]}
i=$[$i+1]
name=${args[$i]}
i=$[$i+1]
Rscript $input/script1.R $id $name
done