2013-10-21 41 views
0

我寫了一個bash腳本來執行一個jar文件。腳本放置在服務器上。該文件夾還包含jar文件和jar將使用的數據。我的jar文件需要一個輸入文件路徑,然後用結果文件生成一個輸出文件夾。當我通過命令行直接運行它時,這個jar沒有任何錯誤。但是,當我將作業提交到羣集並運行bash腳本時,需要用戶輸入的提示會出現在標準輸出文件中。我應該如何將這個輸入提供給jar文件?並且,在哪個位置將生成輸出文件夾?如何在bash腳本中提供用戶輸入到jar文件?

回答

0

如何

java yourfile.jar << EOF 
input line 1 
input line 2 
EOF 

而且,集羣軟件通常會提供選項來重定向從應答文件標準輸入。

例如對於condor框架,提交配置文件如下所示:

Universe  = vanilla 
Executable  = hello_world.sh 
input = /dev/null <~~~~~~~~~~~~~~Change this parameter to your answerfile. 
output = hello.out 
error = hello.error 
transfer_input_files = /scratch/test/files/data1,/scratch/test/files/data2 
should_transfer_files = YES 
+0

這沒有幫助。我仍然在單獨的文件中獲得用戶輸入的提示,然後我無法繼續。 – novicegeek

+0

什麼是您的集羣框架? 您是否正確編寫了配置文件,以便將所需的輸入數據文件發送到羣集? – anishsane

相關問題