2016-03-02 95 views
0

我必須通過bash腳本運行一個.jar文件。如何在bash腳本中回答控制檯輸出問題

/usr/java/jdk1.6.0_24/bin/java罐子reindexer.jar 「網址參數」

使腳本如下

while read line 

do 

/usr/java/jdk1.6.0_24/bin/java -jar reindexer.jar $line 

done < parameter.txt 

然而JAR文件的編碼,它問的問題,而執行如下

你要繼續嗎?(是/否)

所以,我怎麼能回答只通過bash腳本這個問題。

+0

'echo y | java -jar reindexer.jar $ line'或'yes | java ...'。如果你需要更復雜的交互,你可能需要一個'expect'腳本,但是這會讓你脫離bash的唯一需求。 – mpez0

回答

2

只要你想給同樣的答案對所有問題你可以使用yes程序:

# This answers all questions with 'yes' 
yes | /usr/java/jdk1.6.0_24/bin/java -jar reindexer.jar "$line" 

# This answers all questions with 'no' 
yes no | /usr/java/jdk1.6.0_24/bin/java -jar reindexer.jar "$line" 

如果您對混合yesno回答,您可以使用此文件通過管道輸送到stdin,像這樣:

/usr/java/jdk1.6.0_24/bin/java -jar reindexer.jar "$line" <<EOF 
yes 
yes 
no 
yes 
EOF 
相關問題