2016-05-28 40 views
1

我试图运行的Solaris 11使用并行命令使用以下命令的一些工作:GNU并行和Solaris 11

find . -name "job*" | parallel -P 64 ::: 

的CWD有脚本文件JOB1 ...... job256我需要跑步。这些文件有几个变量定义,并通过运行运行良好: ./job1 & ./job2 & 等

但是,我这样做,当我运行命令得到GNU平行以下错误:

/usr/bin/bash: 1: command not found 
... 
/usr/bin/bash: 1: command not found 

256次

这些过程在我的Debian框中正常运行,但在Solaris 11 + SPARC框中却没有。

任何人都可以请指出一个解决方案?

谢谢!

+0

您需要提供更多详细信息,因为通过提供的信息,您将得到的唯一答案将返回类似数据:“有些问题已经解决。” –

+1

是否 - 干运行给你所期望的?该教程是否按描述的工作('man parallel_tutorial')?你确定Solaris上的并行是GNU并行吗? –

+0

Andrew:现在我试图运行最简单的情况。脚本job1 ... job256只是一行代码 - > echo“hello world!”。 Ole:我在运行GNU并行。我甚至编译并运行了GNU网站的最新版本,并给出了相同的结果。 - 干运行确实给了我预期的输出。该教程似乎也错过了。 – Leonus

回答

0

我不知道这是不是你的问题,但你的问题有我的谷歌汁,也许我可以帮助与我有同样问题的人。

这是我第一次使用GNU parallel,并且在我的bash脚本上将PARALLEL = 1设置为可用于启用并行测试的标志。当我运行它时,我看到了你的错误信息。即使我把我的测试命令简化为简单的回声。但在这个bash脚本之外,错误不会发生。嗯。

PARALLEL = 2导致“2:找不到命令”。

原来,这是通过GNU并行读取的。

从手册页:

$PARALLEL 
     The environment variable $PARALLEL will be used as default options for GNU parallel. If the variable 
     contains special shell characters (e.g. $, *, or space) then these need to be to be escaped with \. 

而且1可以解释为一个参数传递给GNU平行。它不以短划线开头,所以它被解释为命令。

+0

我最终摆脱了Solaris 11并安装了Debian 7.不幸的是,我不能再花更多的时间来调试这个问题。谢谢您的帮助! – Leonus