仕事のためにサーバーに1日中sshします。リモートユーザーは自分と複数の同僚によって共有されているので、誰もが私の微調整や変更を望まないので、盲目的にシェルをカスタマイズすることはできません。
たとえば、ログイン時に使用する代替の.zshrcファイルを指定する方法です:
ssh user@someserver zsh --rcfile .zshrc.mine
私はマニュアルページを確認してグーグルで検索しましたが、これまでのところ解決策を思いつきませんでした。
助けていただければ幸いです:-)
zsh
がユーザー設定ファイル(.zshenv
、.zprofile
、.zshrc
、.zlogin
)、ZDOTDIR
環境変数をそれらが存在するパスに設定する必要があります。 ZDOTDIR
には、絶対パスまたは相対パスを含めることができます。相対パスは、zsh
の起動時に現在の作業ディレクトリに相対的です。 ZDOTDIR
が設定されていない場合、zsh
は$HOME
。
したがって、個人の.zshrc
ディレクトリへ$HOME/.my_zsh
、次のコマンドを使用して接続することにより、リモートサーバーで使用できるはずです。
ssh -t user@someserver ZDOTDIR=.my_zsh zsh
パラメーター-t
は、擬似tty割り当てを強制します。これは、通常、コマンドが渡されなかった場合(つまり、リモートシェルが開かれた場合)にのみssh
が行います。この場合、コマンドZDOTDIR=.my_zsh zsh
が渡され、ZDOTDIR
(現在のコマンドのみを対象とする)が設定され、zsh
が実行されます。
.sshセッションには、3つの環境変数が定義されています:
SSH_CLIENT=127.0.0.1 42421 22
SSH_CONNECTION=127.0.0.1 42421 127.0.0.1 22
SSH_TTY=/dev/pts/3
「=」の後の値は異なる場合があります。
.zshrc
ファイルをチェックして、別のことを行います。