2015-02-07 65 views
3

正在使用Ubuntu的服務器上最新的並行內運行RSCRIPT,裏面tmuxGNU並行:如何將shell腳本

在命令行中鍵入時能正常工作:

parallel -j 20 --progress --halt 2 ' Rscript Run.r {}' ::: {1..80} 

但是我想跑許多這樣的命令,一個接一個地在一個shell腳本中,並且總是失敗,因爲不會將參數傳遞給Rscript。

任何方式使這項工作?

+0

你能在tmux之外重現問題嗎?你能用Rscript以外的東西重現問題嗎 - 最好是其他人可以嘗試的東西?腳本運行的是哪個shell? – 2015-02-07 09:49:54

回答

1

這個工作對我來說在tmux

#!/bin/bash 

parallel -j 20 --progress --halt 2 'sleep {}' ::: {1..80} 
parallel -j 20 --progress --halt 2 'sleep {}' ::: {1..80} 
parallel -j 20 --progress --halt 2 'sleep {}' ::: {1..80} 
parallel -j 20 --progress --halt 2 'sleep {}' ::: {1..80} 

記住{1..80}是一個bash結構:它不會工作,/ bin/sh的。

+0

感謝Ole,我用zsh,這確實有效, #!/ bin/bash parallel -j 32 --progress --halt 2'Rscript Run.r {}'::: {1..80 } 當你提示時,我有#!/ bin/sh,它適用於我所有的其他腳本。 我永遠不會想到#!/ bin/bash。 – 2015-02-07 14:46:29