并行调用多个bash函数

时间:2015-12-21 13:58:48

标签: bash shell parallel-processing gnu-parallel

我在http://www.gnu.org/software/parallel/man.html#example__calling_bash_functions读过这个例子但是,是否可以使用gnu parallel调用2个没有传递给它们的变量的函数?

例如

a() {
  echo "download a"
  wget fileA
}

b() {
  echo "download b"
  wget fileB
}

并使用parallel来调用两个函数a& b

2 个答案:

答案 0 :(得分:9)

在后台运行它们。然后等待他们完成。

a() {
  echo "download a"
  wget fileA
}

b() {
  echo "download b"
  wget fileB
}

a &
b &
wait # waits for all background processes to complete

答案 1 :(得分:5)

如果你坚持使用GNU Parallel:

a() {
  echo "download a"
  wget fileA
}

b() {
  echo "download b"
  wget fileB
}
export -f a
export -f b
parallel ::: a b