我想为某人elses bash脚本创建应答文件。当您运行bash脚本时,首次安装软件时会询问5个问题。为bash脚本创建应答文件
我用yes | ./script
命令,它的工作原理,它自动回答所有问题yes
。但是,我想回答最后一个问题no
。有没有办法回答前面4个问题的yes
,以及no
到第五个?
我想为某人elses bash脚本创建应答文件。当您运行bash脚本时,首次安装软件时会询问5个问题。为bash脚本创建应答文件
我用yes | ./script
命令,它的工作原理,它自动回答所有问题yes
。但是,我想回答最后一个问题no
。有没有办法回答前面4个问题的yes
,以及no
到第五个?
这个基本的技巧可以工作你的情况:
echo -e "y\ny\ny\ny\nn" | ./script
或
echo -e "yes\nyes\nyes\nyes\nno" | ./script
但它取决于你的脚本如何处理输入流...
唯一可行的通用答案。谢谢。 – sebnukem
提供你的答案这种方式或从文件直接到stdin
./script << EOF
yes
yes
yes
yes
no
EOF
(使用y
或yes
,取决于您的脚本将会发生什么 - 可能只是“y
”和“n
”就足够了,因为yes
程序工作)。
对于更复杂的任务,你最终可能会考虑使用类似Expect(wikipedia page)
{ 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
YES YES YES YES没有。 – fedorqui