打开shell时向ssh代理添加密钥

时间:2015-02-19 17:29:59

标签: shell ssh

为什么此代码不适用于我的.bash_profile

echo $SSH_AUTH_SOCK
if [ -z "$SSH_AUTH_SOCK" ]; then
        ssh-add
fi

打开shell时,我的身份不会被添加。 shell打开时回显变量$SSH_AUTH_SOCK

/private/tmp/com.apple.launchd.UKHCb6uhHB/Listeners

因此,如果定义了变量,为什么不评估ssh-add语句?

如果我从命令行手动运行ssh-add,或将其放在我自己.bash_profile的独立行上,它会成功运行并将我的身份添加到ssh代理。

此外,使事情更简单,只是尝试回显一个值是行不通的,例如,我没有看到test在将其放入文件后被回显:

echo $SSH_AUTH_SOCK
if [ -z "$SSH_AUTH_SOCK" ]; then
    echo test
fi

1 个答案:

答案 0 :(得分:1)

糟糕,我使用的是错误的运算符。应该是-n,而不是-z