diff options
author | June McEnroe <june@causal.agency> | 2020-10-27 13:00:37 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-10-27 13:00:37 -0400 |
commit | 5bf86c34853e57d01f1cf6821e2466f880108714 (patch) | |
tree | 39d0008c9535eb1ec94c13c7e6071a3435f24a95 /home | |
parent | Use SendEnv for cd host:path (diff) | |
download | src-5bf86c34853e57d01f1cf6821e2466f880108714.tar.gz src-5bf86c34853e57d01f1cf6821e2466f880108714.zip |
Allow cd host: to cd to same path over ssh
Diffstat (limited to '')
-rw-r--r-- | home/.shrc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/home/.shrc b/home/.shrc index 2c3b4740..3013ac79 100644 --- a/home/.shrc +++ b/home/.shrc @@ -18,10 +18,13 @@ alias private='eval "$(gpg -d ~/.private)"' type doas >/dev/null 2>&1 && alias sudo=doas cd() { + local path if [ $# -eq 0 ]; then builtin cd elif [ "${1%%:*}" != "$1" ]; then - SSH_CD=${1#*:} ssh -o SendEnv=SSH_CD "${1%%:*}" + path=${1#*:} + [ -n "${path}" ] || path=${PWD#${HOME}/} + SSH_CD=$path ssh -o SendEnv=SSH_CD "${1%%:*}" elif [ -e "$1" -a ! -d "$1" ]; then builtin cd "${1%/*}" && $EDITOR "${1##*/}" else |