リモートコンピュータのZSH環境が壊れており、ssh経由でログインするとすぐにクラッシュします

Aug 20 2020

ルートアクセス権のないリモートコンピューターでoh-my-zshを実行するのに問題があったので、次の手順に従ってzshをダウンロードしてコンパイルしてみました。

「明示的に、またはプログラムで現在のシェルの起動ファイルから(適切な場所に) zshを起動することになっていた」最後のステップで混乱したことはわかっていますexec $HOME/bin/zsh -l。

exec $HOME/bin/zsh -l〜/ .zshrcの最初の行に追加してソースを設定すると、すべてがフリーズしました。ログアウトした後、ssh経由でリモートにログインするとすぐにシェルがクラッシュするため、変更を削除できません。

Last login: Thu Aug 20 11:50:42 2020 from ***.***.***.*


~/.zshrc:3: exec format error: ~/bin/zsh
Connection to *my.remote* closed.

または、端末がクラッシュした後、VScodeリモートsshがこのエラーを返します。

The terminal process "/bin/zsh '-l'" terminated with exit code: 126.

私の愚かな間違いの助けは大歓迎です。ありがとう。

回答

1 chepner Aug 20 2020 at 18:44

exec $HOME/bin/zsh -lログインシェルに適切な構成ファイルを挿入する必要があります。それがbashであると仮定して、行をに追加し.bash_profileます。コメントで推奨されているように、

ssh -t host vim

開始vim(または選択したエディター)して.zshrc.bash_profile適切に編集します。