我需要运行一个命令并回答命令询问的几个提示。不幸的是,我无法手动输入提示,所以我正在寻找一种自动执行此操作的方法。
我无法安装像expect
or这样的外部包yes
,我也无法将我的命令移动到 .sh 文件中。
我设法通过了一个这样的答案:
echo 'response' | command
但我不知道如何为同一命令发送多个提示。
这可能吗?
编辑:
命令是:
certbot certonly --apache
我需要运行一个命令并回答命令询问的几个提示。不幸的是,我无法手动输入提示,所以我正在寻找一种自动执行此操作的方法。
我无法安装像expect
or这样的外部包yes
,我也无法将我的命令移动到 .sh 文件中。
我设法通过了一个这样的答案:
echo 'response' | command
但我不知道如何为同一命令发送多个提示。
这可能吗?
编辑:
命令是:
certbot certonly --apache
使用循环可能会有所帮助。
使用数组:
或者正如@steeldriver 建议的那样:
假设 command 是一个要求输入的脚本:
输出将是: 3
yes
在第一种情况下,yes
,yes
,no
在第二种情况下。此外,您可以尝试
<< EOF
逐行使用一些答案,EOF
构造:您还可以创建一个
answers
文件:cat
然后只需使用命令管道传输文件内容: