我想为别人的 bash 脚本创建一个应答文件。当您运行 bash 脚本时,第一次安装软件时会询问您 5 个问题。
我使用了该yes | ./script
命令并且它有效,它会自动回答yes
所有问题。但是,我想回答no
最后一个问题。有没有办法回答yes
前 4 个问题和第no
5 个问题?
这个基本技巧可能适用于您的情况:
echo -e "y\ny\ny\ny\nn" | ./script
或者
echo -e "yes\nyes\nyes\nyes\nno" | ./script
但这取决于您的脚本如何处理输入流...
{ yes yes | sed 4q; yes no | sed 1q; } | ./script # or just "echo no"
或者
yes yes | sed -e 5s/yes/no/ -e 5q
while ((++c<5)); do echo "y"; done ; echo "n" | ./script