ps_out=`ps -U "$USER" | grep ssh-agent | grep -v 'grep' | grep -v $0`
result=$(echo $ps_out | grep ssh-agent)
if [ "$result" != "" ];then
echo "ssh-agent is running"
else
echo "ssh-agent is not running, starting now"
eval "$(ssh-agent -s)"
fi
ssh-add $FILE
问题是,即使“ssh-agent 正在运行”,ssh-add
有时也无法通过消息连接Could not open a connection to your authentication agent
。
如何改进脚本,如果“ssh-agent 正在运行”但未连接,它应该尝试“重新连接”到现有的 ssh-agent 套接字(如果可能的话),否则终止现有的 ssh-agent 并创建一个新的。
为什么?否则最终可能会产生一堆ssh-agent
无用的东西。