28 lines
671 B
Bash
28 lines
671 B
Bash
#!/bin/zsh
|
|
# start ssh-agent on first opened shell, retrieve information on all others from
|
|
# file
|
|
SSH_ENV="$HOME/.ssh/environment"
|
|
|
|
[ -e "${SSH_ENV:h}" ] || mkdir -p "${SSH_ENV:h}"
|
|
|
|
function start_agent {
|
|
echo "Initialising new SSH agent..."
|
|
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
|
|
echo succeeded
|
|
chmod 600 "${SSH_ENV}"
|
|
. "${SSH_ENV}" > /dev/null
|
|
}
|
|
|
|
# Source SSH settings, if applicable
|
|
|
|
if [ -f "${SSH_ENV}" ]; then
|
|
. "${SSH_ENV}" > /dev/null
|
|
#ps ${SSH_AGENT_PID} doesn't work under cywgin
|
|
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
|
|
start_agent;
|
|
}
|
|
else
|
|
start_agent;
|
|
fi
|
|
|