Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在bash脚本中回答控制台输出问题_Linux_Bash - Fatal编程技术网

Linux 如何在bash脚本中回答控制台输出问题

Linux 如何在bash脚本中回答控制台输出问题,linux,bash,Linux,Bash,我必须通过bash脚本运行一个.jar文件 /usr/java/jdk1.6.0_24/bin/java-jar reindexer.jar“url作为参数” 所以脚本如下 while read line do /usr/java/jdk1.6.0_24/bin/java -jar reindexer.jar $line done < parameter.txt 读取行时 做 /usr/java/jdk1.6.0_24/bin/java-jar reindexer.jar$line

我必须通过bash脚本运行一个.jar文件

/usr/java/jdk1.6.0_24/bin/java-jar reindexer.jar“url作为参数”

所以脚本如下

while read line

do

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

done < parameter.txt
读取行时
做
/usr/java/jdk1.6.0_24/bin/java-jar reindexer.jar$line
done
然而,jar文件有代码,它在执行时会问问题,如下所示

while read line

do

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

done < parameter.txt
是否要继续?(是/否)


因此,我如何仅通过bash脚本回答此问题。

只要您想对所有问题给出相同的答案,就可以使用
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"
如果您准备混合回答
yes
no
的问题,您可以使用输送到stdin的here文档,如下所示:

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

/usr/java/jdk1.6.0_24/bin/java-jar reindexer.jar“$line”只要您想对所有问题给出相同的答案,就可以使用
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"
如果您准备混合回答
yes
no
的问题,您可以使用输送到stdin的here文档,如下所示:

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

/usr/java/jdk1.6.0_24/bin/java-jar reindexer.jar“$line”
echo y | java-jar reindexer.jar$line
,或
yes | java…
。如果您需要更复杂的交互,您可能需要一个
expect
脚本,但这将使您不再需要bash-only要求。
echo y | java-jar reindexer.jar$line
,或者
yes | java…
。如果您需要更复杂的交互,您可能需要一个
expect
脚本,但这将使您不再需要bash-only需求。