#!/usr/bin/env bash function tmp-if-needed { tmpdir=/tmp/ssh-env-$(whoami) [[ -d $tmpdir ]] || mkdir $tmpdir chmod 700 "$tmpdir" chown $(whoami) "$tmpdir" echo $tmpdir } ENVFILE="${XDG_RUNTIME_DIR:-$(tmp-if-needed)}/ssh-agent.env" if [ -f $ENVFILE ] ; then . $ENVFILE > /dev/null if ! kill -0 $SSH_AGENT_PID > /dev/null 2>&1; then eval $(ssh-agent | tee $ENVFILE) chmod 600 "$ENVFILE" chown $(whoami) "$ENVFILE" ssh-add fi else eval $(ssh-agent | tee $ENVFILE) chmod 600 "$ENVFILE" chown $(whoami) "$ENVFILE" ssh-add fi