diff options
author | Toby Vincent <tobyv13@gmail.com> | 2021-07-09 15:06:50 -0500 |
---|---|---|
committer | Toby Vincent <tobyv13@gmail.com> | 2021-07-09 15:06:50 -0500 |
commit | ae8a1bef061bff439d63c2e9ce48f49e31705e45 (patch) | |
tree | a5ba0d44a3a6c99f3e9b6733fa97ce0fcfe7fe76 | |
parent | 00cff607664e74513258b26d133b10b4a8760c75 (diff) |
feat: replaced loop with each expanded if statement
-rwxr-xr-x | sh/gpg.sh | 43 |
1 files changed, 31 insertions, 12 deletions
@@ -6,24 +6,43 @@ # GPG & SSH Socket # Removing Linux Agent sockets and replace it with wsl2-ssh-pageant socket -export SSH_AUTH_SOCK=$HOME/.ssh/agent.sock -export GPG_AGENT_SOCK=$HOME/.gnupg/S.gpg-agent + +export SSH_AUTH_SOCK="$HOME/.ssh/agent.sock" +export GPG_AGENT_SOCK="$HOME/.gnupg/S.gpg-agent" function gpg-init() ( - sockets=("${SSH_AUTH_SOCK}" "${GPG_AGENT_SOCK}" "${GPG_AGENT_SOCK}.extra") - wsl2_ssh_pageant_bin="$HOME/.ssh/wsl2-ssh-pageant.exe" + if ! ss -a | grep -q "$SSH_AUTH_SOCK"; then + rm -f "$SSH_AUTH_SOCK" + wsl2_ssh_pageant_bin="$HOME/.ssh/wsl2-ssh-pageant.exe" + if test -x "$wsl2_ssh_pageant_bin"; then + (setsid nohup socat UNIX-LISTEN:"$SSH_AUTH_SOCK,fork" EXEC:"$wsl2_ssh_pageant_bin" >/dev/null 2>&1 &) + else + echo >&2 "WARNING: $wsl2_ssh_pageant_bin is not executable." + fi + unset wsl2_ssh_pageant_bin + fi - if ! test -x "$wsl2_ssh_pageant_bin"; then - echo >&2 "WARNING: $wsl2_ssh_pageant_bin is not executable." - return + if ! ss -a | grep -q "$GPG_AGENT_SOCK"; then + rm -rf "$GPG_AGENT_SOCK" + wsl2_ssh_pageant_bin="$HOME/.ssh/wsl2-ssh-pageant.exe" + if test -x "$wsl2_ssh_pageant_bin"; then + (setsid nohup socat UNIX-LISTEN:"$GPG_AGENT_SOCK,fork" EXEC:"$wsl2_ssh_pageant_bin --gpg S.gpg-agent" >/dev/null 2>&1 &) + else + echo >&2 "WARNING: $wsl2_ssh_pageant_bin is not executable." + fi + unset wsl2_ssh_pageant_bin fi - for socket in "${sockets[@]}"; do - if ss -a | grep -q $socket; then - rm -rf $socket - (setsid nohup socat UNIX-LISTEN:"$socket,fork" EXEC:"$wsl2_ssh_pageant_bin $([ $socket != $SSH_AUTH_SOCK ] && echo "--gpg $(basename $socket)")" >/dev/null 2>&1 &) + if ! ss -a | grep -q "${GPG_AGENT_SOCK}.extra"; then + rm -rf "${GPG_AGENT_SOCK}.extra" + wsl2_ssh_pageant_bin="$HOME/.ssh/wsl2-ssh-pageant.exe" + if test -x "$wsl2_ssh_pageant_bin"; then + (setsid nohup socat UNIX-LISTEN:"${GPG_AGENT_SOCK}.extra,fork" EXEC:"$wsl2_ssh_pageant_bin --gpg S.gpg-agent.extra" >/dev/null 2>&1 &) + else + echo >&2 "WARNING: $wsl2_ssh_pageant_bin is not executable." fi - done + unset wsl2_ssh_pageant_bin + fi ) # Reload |