blob: 0d116dc944188cf765b4b7fc3b29bbe7b2e1d0e4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#!/usr/bin/env bash
if [ -z "$SSHENVFILE" ];then
printf "SSHENVFILE not set, no target for SSH environment variables.\\n" >&2
exit 1
fi
VERB=1
KILLIT=0
while getopts ":qf" SHOPT;do
case "$SHOPT" in
q) VERB=0;;
f) KILLIT=1;;
*) printf "WAT\n" >&2;exit 127;;
esac
done
shift "$(( OPTIND -1 ))"
[ "$VERB" -eq 1 ]&&printf "[....] Starting SSH agent.\\033[s"
ROEDGROED="$(pgrep -U "$(whoami)" ssh-agent|grep -v grep|awk '{print $1}')"
if [ -n "$ROEDGROED" ];then
if [ "$KILLIT" -eq 1 ];then
for i in $(echo "$ROEDGROED");do kill "$i" >/dev/null 2>&1||break;done
case "$?" in
0);;
*)
[ "$VERB" -eq 1 ]&&printf "\\033[666D[\\033[31mFAIL\\033[0m]\\033[u\\033[K\\n"
exit 2
;;
esac
else
[ "$VERB" -eq 1 ]&&printf "\\033[666D[\\033[30;1mSKIP\\033[0m]\\033[u\\033[K (running, PID: %s)\\n" "$ROEDGROED"
exit 0
fi
fi
ssh-agent >"$SSHENVFILE" 2>&1&&chmod 0600 "$SSHENVFILE" >/dev/null 2>&1
case "$?" in
0)
sed -i 's/^echo[^\;]*\;//g' "$SSHENVFILE" >/dev/null 2>&1
[ "$VERB" -eq 1 ]&&printf "\\033[666D[\\033[32m OK \\033[0m]\\033[u\\033[K\\n"
exit 0
;;
*)
[ "$VERB" -eq 1 ]&&printf "\\033[666D[\\033[31mFAIL\\033[0m]\\033[u\\033[K\\n"
exit 1
;;
esac
|