diff options
author | Daniel Schauenberg <d@unwiredcouch.com> | 2010-10-01 10:55:44 +0200 |
---|---|---|
committer | Daniel Schauenberg <d@unwiredcouch.com> | 2010-10-01 10:55:44 +0200 |
commit | d340bfab3345a223114b09d589356ff18a1a3efd (patch) | |
tree | 10efcbced0aedcbbc0ac0fc759d00734fefdc341 /plugins/ssh-agent/ssh-agent.plugin.zsh | |
parent | cef6dcd98bb42c5ca2613bbbef12dd384ec8e33a (diff) | |
parent | 26d97a9355d37c55e0b044d8dafc425cc0ca7217 (diff) | |
download | zsh-d340bfab3345a223114b09d589356ff18a1a3efd.tar.gz zsh-d340bfab3345a223114b09d589356ff18a1a3efd.tar.bz2 zsh-d340bfab3345a223114b09d589356ff18a1a3efd.zip |
Merge remote branch 'origin/master' into restructure_plugins
Diffstat (limited to 'plugins/ssh-agent/ssh-agent.plugin.zsh')
-rw-r--r-- | plugins/ssh-agent/ssh-agent.plugin.zsh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/plugins/ssh-agent/ssh-agent.plugin.zsh b/plugins/ssh-agent/ssh-agent.plugin.zsh new file mode 100644 index 000000000..ce0d645c1 --- /dev/null +++ b/plugins/ssh-agent/ssh-agent.plugin.zsh @@ -0,0 +1,23 @@ +# Based on code from Joseph M. Reagle +# http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html + +local SSH_ENV=$HOME/.ssh/environment + +function start_agent { + /usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV} + chmod 600 ${SSH_ENV} + . ${SSH_ENV} > /dev/null + /usr/bin/ssh-add; +} + +# Source SSH settings, if applicable + +if [ -f "${SSH_ENV}" ]; then + . ${SSH_ENV} > /dev/null + ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { + start_agent; + } +else + start_agent; +fi + |