仅当命令请求时才回答 "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
我在写脚本。有一个命令要求回答是或否以覆盖某个文件。 我想使脚本自动化以回答是或否 仅当 命令请求它时(我不想在命令中回显是)。
我指的命令是 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