为什么此代码不适用于我的.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
答案 0 :(得分:1)
糟糕,我使用的是错误的运算符。应该是-n
,而不是-z
。