响应多个y/n脚本提示; shell 脚本

i34xakig  于 2023-05-29  发布在  Shell
关注(0)|答案(3)|浏览(174)

我想自动执行一系列命令,其中一个命令需要多个用户输入yes/no。我如何编写脚本,使我的脚本自动选择多个答案?
checkinstall命令示例:
Do you want me to list them? [n]:(我想在这里回答否/n)
Should I exclude them from the package? [n]:(我想在这里回答是/是)
如您所见,checkinstall命令需要多个输入。当我只想给予一个命令1输入时,我使用this方法。

xqk2d5yq

xqk2d5yq1#

在此使用文档<<

checkinstall <<EOF
no
yes
EOF
nnt7mjpx

nnt7mjpx2#

您可以使用expect编写脚本

#!/usr/bin/expect

set timeout 20

spawn "./application"

expect "Are you a human?: " { send "yes\r" }
expect "Are you a android :" { send "no\r" }

interact
kuhbmx9i

kuhbmx9i3#

试试yes

yes $'n\ny' | checkinstall

如果多次调用命令,也可以工作。

yes $'n\ny' | for n in 1 2 3; do checkinstall; done

相关问题