gpt4 book ai didi

Bash - 从数组传递参数

转载 作者:行者123 更新时间:2023-11-29 09:42:21 25 4
gpt4 key购买 nike

我正在使用 bash 调用用 java (gatk) 编写的工具,我需要将数组中的多个参数作为输入参数传递。我尝试了这种方法,但似乎不起作用。请问您能帮我一下吗,如何解决?

代码:

java $GATK \
-T GenotypeGVCFs \
-R $ref \
-o output.vcf \
for foo in array
do
--variant $foo \
done

我想被称为:

java $GATK \
-T GenotypeGVCFs \
-R $ref \
-o output.vcf \
for foo in array
do
--variant file1 \
--variant file2 \
--variant file3 ...etc
done

编辑:抱歉造成误解

array=("file1","file2","file3"...)

谢谢

最佳答案

我假设您真正想要的是,如果array包含a b c,则拥有命令

java $GATK \
-T GenotypeGVCFs \
-R $ref \
-o output.vcf \
--variant a --variant b --variant c

如果是这样,您可以准备第二个数组:

array=("file 1" "file 2" "file 3")
declare -a fullarray
for i in "${array[@]}"
do
fullarray+=( --variant "$i" )
done

然后

java $GATK \
-T GenotypeGVCFs \
-R $ref \
-o output.vcf \
"${fullarray[@]}"

这还将确保如果 array 中的任何名称包含空格,它仍然会作为正确的参数传递,并且不会分成两个(假设您没有弄乱它)当您将其添加到数组时)。

关于Bash - 从数组传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44652645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com