aboutsummaryrefslogtreecommitdiff
path: root/bash/agents.sh
blob: 0fd307ab9009c33849e9b69c12f92d82ac2174b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env bash

eval "$(thefuck --alias f)"

export GPG_TTY=$(tty)

export SSH_ENV="$HOME/.ssh/environment"
start_agent() {
    echo "Initialising new SSH agent..."
    ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
    echo succeeded
    chmod 600 "${SSH_ENV}"
    . "${SSH_ENV}" > /dev/null
    ssh-add
}

[ -f "${SSH_ENV}" ] && {
    . "${SSH_ENV}" > /dev/null
    ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
        start_agent
    }
} || start_agent