nfs とかで同じディレクトリ構成の複数のホスト間を行き来することが多い。
ログイン先でも $HOME じゃなくて、今いるディレクトリに移動したいのでメモ。
コマンドとしては ssh -t を使って、 PWD_TMP という変数に PWD をセットして、ログインシェルを実行する。
ssh -t HOST "export PWD_TMP=$PWD ; /bin/zsh"
ログインシェルの rc ファイルとかに PWD_TMP が設定されて、ディレクトリが存在するならば、cd する。
.zshrc
if [ -d $PWD_TMP ] ; then
cd $PWD_TMP ;
fi
毎回入力しなくてもいいように、適当にホスト名とかで alias を設定しておく。
.zshrc
alias xxxx='ssh -t HOST "export PWD_TMP=$PWD ; /bin/zsh"'
注意すべきは zsh の .zprofile は呼ばれないので、ここに色々書いている人は注意が必要。