~/.bashrc
(これはLinodeボックスにあります)の最後に次の行を追加し、sshセッションからログアウトしました。
source ~/.profile
ログインすると、シェルが応答しなくなります。プロンプトが表示されることはなく、コマンドを入力しても何も起こりません。
Ctrl-cを押すと、ssh接続が閉じます。 Ctrl-zも何もしません。 ~/.profile
にアクセスして、問題が何であるかを確認することができません。
プロンプトを元に戻すにはどうすればよいですか?
シェルを元に戻すには、この手順を使用するだけです。
以前にあった.bashrcの内容を覚えておいてください。次のようになります。
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
Linodeマシンにアクセスできるマシン上の同じ名前.bashrcのファイルにそれらを置きます。
次のコマンドを使用します。
# scp .bashrc server:.
これにより、変更した.bashrcがこのデフォルトのものに置き換えられ、シェルを元に戻すことができるはずです。
これで問題が発生した場合はお知らせください。
人々はすでにこれを修正する方法をあなたに尋ねました。しかし、なぜこれがあなたに起こったのですか?
Debian/Ubuntuでは、~/.profile
に次のコードがあります。
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
したがって、デフォルトでは、~/.profile
には~/.bashrc
が含まれています。 ~/.bashrc
に~/.profile
を含めるように指示すると、無限ループが作成されます。