在 bash 中函数内的 for 循环中读取变量

Reading variable in for loop inside a function in bash

提问人:Gabriel G. 提问时间:10/6/2023 更新时间:10/6/2023 访问量:11

问:

假设我有这个函数

myfunc() {
  parallelinput="$1"
  #strip prefix
  filenames1=( "${parallelinput##*/}" )
echo /home/"$i"/"$filenames1"_count.tsv
echo "$1"
}

export -f myfunc

#I 想要并行运行

STEPS=( 13 "13.5" )
for i in  "${STEPS[@]}"
do
parallel -j 2 myfunc  {}  ::: /home/$i/*vcf
done

如何让我的函数读取 STEPS 数组以输出正确的目录,而不会重复? 这段代码没有给我 myfunc 内部$i。 此外,在我的情况下,使用 myfunc 非常重要,因为如果没有它,我就无法在并行内执行正确的代码。所以并行 -j 2 myfunc 必须保留

函数 for-loop 并行处理

评论

0赞 Paul Hodges 10/6/2023
我没有安装,但你想要的不正是吗?parallelparallel -j 2 myfunc /home/{}/*vcf ::: 13 13.5

答: 暂无答案