可以看到已经可以使用了,在第一次执行命令的结果中,还有一个SSH_AGENT_PID环境变量,这个是ssh-agent的进程ID使用ssh-agent -k可以用来退出代理程序。

通过上面的测试发现,只要我们的环境变量配置好正确的unix套接字,就可以使用ssh-agent了,但是每次都这样配置太麻烦了。

这其实和linux操作系统有关,因为ssh-agent是作为当前shell的一个子进程运行的。在linux中,进程只能修改自己的环境变量,并将它们传递给子进程。但它不能修改其父进程的环境变量,因为系统不允许。

eval可以将字符串作为命令来执行,在我们直接执行ssh-agent时,屏幕会输出三行内容,这三行内容就是三条命令,所以我们可以将ssh-agent的执行结果在当前Shell作为命令执行,那么你可以看下下面这个命令,是不是很合理

首先执行ssh-agent,输出的结果是三行命令,通过eval来执行这三行命令,就达到了自动添加环境变量的目的.因为第三行是一个echo命令,所以将pid输出了出来。