diff options
author | Robby Russell <robby@planetargon.com> | 2010-09-30 21:34:06 -0700 |
---|---|---|
committer | Robby Russell <robby@planetargon.com> | 2010-09-30 21:34:06 -0700 |
commit | 26d97a9355d37c55e0b044d8dafc425cc0ca7217 (patch) | |
tree | b2fa7a19bd7b767b9fa37c9baaec5a7209b6a90c /plugins/ssh-agent/ssh-agent.plugin.zsh | |
parent | 7a09175bb4c32c7027dab872cd7b80503da3f5d5 (diff) | |
download | zsh-26d97a9355d37c55e0b044d8dafc425cc0ca7217.tar.gz zsh-26d97a9355d37c55e0b044d8dafc425cc0ca7217.tar.bz2 zsh-26d97a9355d37c55e0b044d8dafc425cc0ca7217.zip |
Reorganizing plugins so that each plugin has it's own directory now so that any plugin-specific functions can be bundled within there.
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 + |