为bash脚本创建答案文件

时间:2013-07-18 13:50:11

标签: linux bash

我想为别人的bash脚本创建一个答案文件。运行bash脚本时,第一次安装软件时会向您询问5个问题。

我使用yes | ./script命令并且它有效,它会自动回答yes所有问题。但是,我想回答no的最后一个问题。有没有办法回答yes前4个问题,no回答第5个问题?

4 个答案:

答案 0 :(得分:4)

以这种方式或从文件直接提供您的答案stdin

./script << EOF
yes
yes
yes
yes
no
EOF 

(使用yyes取决于您的脚本所期望的内容 - 可能只是“y”和“n”就足够yes程序工作)。

对于更复杂的任务,您最终可能会考虑使用Expectwikipedia page

之类的内容

答案 1 :(得分:1)

这个基本技巧可能适合你的情况:

echo -e "y\ny\ny\ny\nn"          | ./script

echo -e "yes\nyes\nyes\nyes\nno" | ./script

但这取决于脚本处理输入流的方式......

答案 2 :(得分:0)

{ yes yes | sed 4q; yes no | sed 1q; } | ./script  # or just "echo no"

yes yes | sed -e 5s/yes/no/ -e 5q

答案 3 :(得分:0)

while ((++c<5)); do echo "y"; done ; echo "n" | ./script