根据https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s3-openssh-config-ssh-agent.html
我需要执行exec /usr/bin/ssh-agent $SHELL
,据我了解,它exec
用我指定的程序替换了我当前的 shell。
我读了http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/ssh-agent.1?query=ssh-agent&sec=1,其中指出“如果给出命令行,这是作为代理的子进程执行。当命令死亡时,代理也会死亡。
所以我猜我期望的是 bash 被 ssh-agent 替换,但是因为我指定了一个命令行,所以执行了一个新的 bash,然后执行了 ssh-agent,并替换了旧的 bash。
到底发生了什么?