如何 运行 bash for 循环并使用 GNU 并行?

how to run bash for loop and using GNU parallel?

我有一个 bash 循环,我在其中将变量传递给脚本。我想 运行 这些与 GNU parallel

并行
for FILE_NAME in FILE1 FILE2 FILE3; 
do
    ./SCRIPT -n $FILE_NAME
done

我希望脚本 运行 并行,如下所示:

     ./SCRIPT -n FILE1
     ./SCRIPT -n FILE2
     ./SCRIPT -n FILE3

我正在尝试使用 GNU 并行命令,因为这里有很多建议,但如果我将变量传递给脚本,我对将并行命令放在哪里感到困惑。

我试过将 FILE1 FILE2 FILE3 变成一个列表:

parallel -a $FILE_LIST ./SCRIPT -n $FILE_NAME
for FILE_NAME in FILE1 FILE2 FILE3; 
do
    parallel ./SCRIPT -n $FILE_NAME
done

你有什么建议吗?

这样试试:

parallel ./SCRIPT -n {} ::: FILE1 FILE2 FILE3

或者,如果您的文件真的是这样命名的,更简洁:

parallel ./SCRIPT -n {} ::: FILE*