2016-05-28 41 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