github.com_burnett01_rsync-.../agent-stop
2020-01-02 22:28:40 +00:00

35 lines
No EOL
835 B
Bash

#!/bin/sh
if [ ! -z "$SSH_AGENT_PID" ]; then
# Here, the environment is set already, just kill the script.
eval $(ssh-agent -k) >/dev/null
exit $?
else
# The env isn't set, construct the file path.
STORE_PATH=/tmp
if [ ! -z "$1" ]; then
STORE_PATH="$STORE_PATH/$1"
fi
if [ ! -d "$STORE_PATH" ]; then
echo "Store Path $STORE_PATH doesn't exist!" >&2
exit 1
fi
# And check our files exist.
if [ -f "$STORE_PATH/ssh-agent-id" ]; then
# Grab our PID and socket.
SSH_AGENT_PID=$(cat "$STORE_PATH/ssh-agent-id")
export SSH_AGENT_PID
rm "$STORE_PATH/ssh-agent-id"
SSH_AUTH_SOCK=$(cat "$STORE_PATH/ssh-auth-sock")
export SSH_AUTH_SOCK
rm "$STORE_PATH/ssh-auth-sock"
eval $(ssh-agent -k) >/dev/null
exit $?
else
echo "SSH_AGENT_PID not set, $STORE_PATH/ssh-auth-sock doesn't exist!" >&2
exit 1
fi
fi