diff --git a/.bashrc b/.bashrc index 6a82356098d37dccfd5eb8f0d8cd00e72fdef02d..c025c9ee382bb0c2a6a74a1001d305f2c37d0079 100644 --- a/.bashrc +++ b/.bashrc @@ -113,7 +113,6 @@ alias rc_make="make --directory $HOME --always-make" alias rc_update="rc_make vendored generated" alias gen-ssh-config="rc_make .ssh/config" alias bfg='java -jar $HOME/.local/share/bfg/bfg.jar' -alias prune_docker_remote='find ~/.ssh -maxdepth 1 -type s -name "docker_*" -exec rm {} \;' alias close='ssh -fnNTS ~/.ssh/%C.sock -O exit' alias jjb='jenkins-jobs' alias diff='diff --unified' @@ -294,6 +293,13 @@ flatpak_kill () { fi } +__prune_docker_remote () { + for i in ~/.ssh/docker_* + do + [ ! -e "$i" ] || lsof -t "$i" >/dev/null || rm "$i" + done +} + __prompt () { local exitstatus="$?" local runduration endtime pre_prompt @@ -377,4 +383,4 @@ then ! command -v direnv > /dev/null || eval "$(direnv hook bash)" fi -prune_docker_remote +__prune_docker_remote diff --git a/Documents/bin/_docker-remote b/Documents/bin/_docker-remote index 423d7f2785833a5884cc9ac3752fea26fb8c875c..81cd615e010e9bfe7ebab031a4d85d956439a896 100755 --- a/Documents/bin/_docker-remote +++ b/Documents/bin/_docker-remote @@ -5,7 +5,8 @@ set -eu host="$1" localsocket="$HOME/.ssh/docker_$host.sock" -lsof -t "$localsocket" > /dev/null 2>&1 || rm -f "$localsocket" +[ ! -e "$localsocket" ] || lsof -f "$localsocket" >/dev/null || rm "$localsocket" + forward "$host" "$localsocket:/var/run/docker.sock" > /dev/null 2>&1 # Echo the DOCKER_HOST export command, for eval'ing.