2016-01-07 184 views
0

我想读的bash脚本bash脚本读取输入

test.sh input1 id1 name1 input2 id2 name2 input3 id3 name3 

我想读的输入回路和分配的三个参数组,局部变量和运行不同的命令如

for var in "[email protected]" 
    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

“get next cmd-line param”with'shift'。祝你好运。 – shellter

回答

0

您必须迭代用户参数的元素,就像在任何其他编程语言中一样。例如:

args=("[email protected]") 
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 
+0

It works ..非常感谢你:) – user5758172