summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-10-27 09:44:45 -0400
committerJune McEnroe <june@causal.agency>2020-10-27 09:44:45 -0400
commitca6c6e2d16d93c23f8760bf4b662480478a6951b (patch)
tree281b6cbfecf6864a776bb069c7ccaf3f675212e4
parentUse mandoc -T utf8 for text. (diff)
downloadsrc-ca6c6e2d16d93c23f8760bf4b662480478a6951b.tar.gz
src-ca6c6e2d16d93c23f8760bf4b662480478a6951b.zip
Allow cd host:path over ssh
Requires AcceptEnv SSH_CD in the remote sshd_config.
-rw-r--r--home/.shrc6
1 files changed, 6 insertions, 0 deletions
diff --git a/home/.shrc b/home/.shrc
index feb679ef..df1c8b26 100644
--- a/home/.shrc
+++ b/home/.shrc
@@ -20,12 +20,18 @@ type doas >/dev/null 2>&1 && alias sudo=doas
 cd() {
 	if [ $# -eq 0 ]; then
 		builtin cd
+	elif [ "${1%%:*}" != "$1" ]; then
+		ssh -o "SetEnv SSH_CD=${1#*:}" "${1%%:*}"
 	elif [ -e "$1" -a ! -d "$1" ]; then
 		builtin cd "${1%/*}" && $EDITOR "${1##*/}"
 	else
 		builtin cd "$@"
 	fi
 }
+if [ -n "${SSH_CD:-}" ]; then
+	cd "${SSH_CD}"
+	unset SSH_CD
+fi
 
 PS0=$'\n'
 PS1='\$ '
ne McEnroe 2018-09-19Fix README mandoc lintsJune McEnroe 2018-09-19Un-NOT trans.alpha values in pngoJune McEnroe 2018-09-18Refactor reads in pngo and clear palette between filesJune McEnroe 2018-09-17Add tRNS support to pngoJune McEnroe 2018-09-11Move gfx man pages to gfx/manJune McEnroe 2018-09-11Move bin man pages to bin/manJune McEnroe 2018-09-11Rewrite gfx.7 and render plaintext READMEJune McEnroe 2018-09-11Remove GAMES from BINSJune McEnroe 2018-09-11Rewrite bin.7 and render to plaintext READMEJune McEnroe 2018-09-11Add "blank" lines to man pagesJune McEnroe 2018-09-10Add mdoc syntax fileJune McEnroe 2018-09-08Fix Nm usage in multi-name man pagesJune McEnroe 2018-09-08Put real dates on man pagesJune McEnroe 2018-09-08Replace gfx README with REAMDE.7June McEnroe 2018-09-08Link gfx man pages in ~/.localJune McEnroe