summaryrefslogtreecommitdiff
path: root/zshfunc/safe-restore-ssh-agent-socket
diff options
context:
space:
mode:
Diffstat (limited to 'zshfunc/safe-restore-ssh-agent-socket')
-rw-r--r--zshfunc/safe-restore-ssh-agent-socket11
1 files changed, 11 insertions, 0 deletions
diff --git a/zshfunc/safe-restore-ssh-agent-socket b/zshfunc/safe-restore-ssh-agent-socket
new file mode 100644
index 0000000..f4b9751
--- /dev/null
+++ b/zshfunc/safe-restore-ssh-agent-socket
@@ -0,0 +1,11 @@
+## vim:ft=zsh:foldmethod=marker
+
+if [ "$SSH_AUTH_SOCK" != "" ] && [ "$SSH_AUTH_SOCK" != "$HOME/.ssh-auth-sock" ] ; then
+ if ! [ -e "$HOME/.ssh-auth-sock" ] || [ "`readlink $HOME/.ssh-auth-sock`" != "$SSH_AUTH_SOCK" ]; then
+ echo "Setting ~/.ssh-auth-sock."
+ rm -f "$HOME/.ssh-auth-sock"
+ ln -s "$SSH_AUTH_SOCK" "$HOME/.ssh-auth-sock"
+ fi
+elif [ "$SSH_AUTH_SOCK" = "" ] && [ -e "$HOME/.ssh-auth-sock" ]; then
+ SSH_AUTH_SOCK="$HOME/.ssh-auth-sock"; export SSH_AUTH_SOCK
+fi