centos 仅在命令要求时回答“是”或“否”

eqoofvh9  于 2022-11-07  发布在  其他
关注(0)|答案(2)|浏览(172)

我正在写一个脚本。有一个命令要求回答是或否来覆盖某个文件。我想自动化脚本来回答是或否只有如果命令要求它(我不想在命令里回显是)。
我所指的命令是 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或no以覆盖文件。
先谢谢你

u5rb5r59

u5rb5r591#

我建议使用echo命令向该命令发送“yes”。
echo "yes" | ssh-keygen -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa -q

qxsslcnc

qxsslcnc2#

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

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

相关问题