リモートコンピュータでzsh
設定を変更しましたが、設定が壊れてキーを押す
たびに、「url-quote-magic:1:url-quote-magic:関数定義ファイルが見つかりません」というメッセージが表示されます。
そのコンピュータに他のアカウントがありません。エラーを無効にして.zshrc
シェルを再利用して修正できるようにするにはどうすればよいですか?
答え1
次のようにログインしなくても、リモートサーバーでコマンドを実行できます。
ssh -lUSERNAME SERVER COMMAND
例えば
ssh -lsomeuser someserver 'mv .zshrc .zshrc.bak'
最後の引数として与えられたコマンドは非対話型ssh
シェルによって実行されますが、.zshrc
zsh
マンページ、ファイルの開始と閉じるセクション)。
答え2
サーバーにSFTPを介して.zshrc
空のファイルまたは利用可能なファイルで上書きすることもできます。
答え3
ここでは、あなたが台無しにされたファイルはインタラクティブログインでのみ使用されるので簡単です。を台無しにした場合~/.zshenv
、またはログインシェルがbashであることを望んでいる場合~/.bashrc
(奇妙なことに、bash~/.bashrc
は非対話型ログインシェルであり、その親がrshd
orかどうかを読み取るsshd
)コマンドの実行に依存する方法はありません。非対話型なら大丈夫です。 。
SSHはシェルの実行にこだわります。他にログインできる方法がない場合(他のアカウントまたはssh以外の方法で)、唯一の方法は認証後にシェルが問題の行に達する前にすばやく+を押すことですCtrl。C実際、これは通常手動で行うことができます。システムの負荷(CPUまたはディスク)を予約すると便利です。適切な時点でキーを押すのに問題がある場合を試してくださいexpect
。
答え4
以下を使用するようにシェルを変更できますbash
。
ssh -luser server 'chsh -s /bin/bash'
bashがサーバーで利用可能で、私に適しているとします。