export __SSH_AGENT_PID=${SSH_AGENT_PID} export __SSH_AUTH_SOCK=${SSH_AUTH_SOCK} if [ -f ~/.ssh/.agent ]; then SSH_AGENT_PID=""; SSH_AUTH_SOCK=""; source ~/.ssh/.agent; ssh-add >/dev/null 2>&1; if [ "${?}" = "2" ]; then # stale ~/.ssh/.agent cat >! ~/.ssh/.agent << EOF export SSH_AGENT_PID=${__SSH_AGENT_PID}; export SSH_AUTH_SOCK=${__SSH_AUTH_SOCK}; EOF source ~/.ssh/.agent; fi; else cat >! ~/.ssh/.agent << EOF export SSH_AGENT_PID=${__SSH_AGENT_PID}; export SSH_AUTH_SOCK=${__SSH_AUTH_SOCK}; EOF fi; unset __SSH_AGENT_PID unset __SSH_AUTH_SOCK