我想回答bash shell中出现的问题
前:
脚本
#!/bin/bash
ssh-keygen -t rsa
#it will appear a question >> Enter file in which to save the key
# (/root/.shh/id_rsa) so how can i read answer from the user(which is the path)
# and **enter it to be the answer of the question.
答案 0 :(得分:0)
尝试这样做(无需使用STDIN
):
rm -f ~/.ssh/id_rsa*
ssh-keygen -q -t rsa -P MyOwnPassPhrase -f ~/.ssh/id_rsa
你读过吗?
man ssh-keygen
? =)
答案 1 :(得分:0)
如果您已经知道要在其中存储输出的文件的名称,则可以在脚本的命令行上指定该名称,如下所示:
ssh-keygen -t rsa -f keyfile
否则,您可以要求用户指定名称,否则请使用提供的参数。如果他们没有在命令行上传递名称,则该方法将允许他们指定名称。 (用法是:您的脚本名密钥文件名)
if [ $# -eq 0 ]; then
read -p "Enter filename for key: " keyfile
ssh-keygen -t rsa -f $keyfile
else
ssh-keygen -t rsa -f $1
fi