仅当命令请求时才回答 "Yes" 或 "No"

Answer "Yes" or "No" ONLY IF a command request it

我在写脚本。有一个命令要求回答是或否以覆盖某个文件。 我想使脚本自动化以回答是或否 仅当 命令请求它时(我不想在命令中回显是)。

我指的命令是 ssh-keygen,如果密钥已经存在,它需要覆盖。

在我的脑海里是这样的...

if (ssh-keygen requests input) --> Sends yes to the ssh-keygen

特别是,我正在使用以下命令:

ssh-keygen -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa -q

即使我正在使用 -q,仍然会询问是否覆盖文件。

提前致谢

我建议您检查 yes 命令。 它正在发送 y.
的循环 如果你想强制接受命令,它应该可以工作。
但是如果 keygen 请求输入(文件名等),它也会发送 'y'.

命令为:

yes | ssh-keygen -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa -q

我建议使用 echo 命令向命令发送“是”。

echo "yes" | ssh-keygen -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa -q