如何将bash变量作为ssh keygen参数传递?

如何将bash变量作为ssh keygen参数传递?,bash,Bash,我正试着这么做 REPO="wordpress-sites" ssh-keygen -t rsa -f ~/.ssh/${REPO}_rsa -C "${REPO} deploy" 但是REPO显示为“ 如果我做了导出REPO=“wordpress sites”,那么REPO将被永久设置,这是我不想要的。语法VAR=value使VAR在命令环境中可用,但shell在执行变量扩展时看不到它。如果希望shell看到它,则必须在单独的语句中进行设置。如果要防止变量泄漏到脚本的其余部分,可以在子she

我正试着这么做

REPO="wordpress-sites" ssh-keygen -t rsa -f ~/.ssh/${REPO}_rsa -C "${REPO} deploy"
但是
REPO
显示为


如果我做了导出REPO=“wordpress sites”,那么
REPO
将被永久设置,这是我不想要的。

语法
VAR=value
使
VAR
在命令环境中可用,但shell在执行变量扩展时看不到它。如果希望shell看到它,则必须在单独的语句中进行设置。如果要防止变量泄漏到脚本的其余部分,可以在子shell中运行所有内容

(REPO=wordpress-sites; ssh-keygen -t rsa -f ~/.ssh/"$REPO"_rsa -C "${REPO} deploy")
(注意,我没有使用
export
,因为它只是一个shell变量。它不需要导出到
ssh-keygen
的环境中。)