用gnu并行运行循环并传入一个变量

时间:2014-09-02 03:09:54

标签: bash gnu-parallel

我需要通过gnu parallel为dir中的每个元素运行一个bash函数。我需要访问此函数的evn变量。我该如何传递它。例如,在shell脚本中跟随代码。我有一个变量DIRS = / folder / log。如何将'DIRS'传递给函数readfile_。提前谢谢。

export SHELL=$(type -p bash)
function readfile_ {do something}

export -f readfile_ 
ls -d */ | grep -v errlogs |  parallel readfile_ 

1 个答案:

答案 0 :(得分:1)

我明白了。

参考http://www.gnu.org/software/parallel/parallel_tutorial.html#Transfer-environment-variables-and-functions

DIRS=/folder/log
export DIRS
ls -d */ | grep -v errlogs |  parallel --env DIRS readfile_