- 締切済み
Linuxのログインで.bashrcを読まない
Linuxにログインするときに、.bashrcを読み込まないでログインする方法はありますか? 理由は、.bashrcの中の記述に誤りがあると思われ、ログインのプロセスが途中で止まって無反応になるためです。 一旦、.bashrcファイルを読まないでログインできれば、.bashrcファイルを書き換えられると思います。 ログインにはsshを使っています。rshも試しましたが、うまくいきません。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10358)
No2です。お礼ののscpもだめというのを見落としてました。 そうすると.bashrcの問題では無いですね。scpだと .bashrcは読まれませんので。 >ログインのプロセスが途中で止まって無反応になるためです。 これは具体的にどういう現象ですか?また、途中まで進んでいると判断した根拠は?
- notnot
- ベストアンサー率47% (4900/10358)
bashの生の機能だと、ログインシェルは .bashrc を読みません。.bash_profile等を読みます。 (bashの生の機能で .bashrc を読むのはログインシェルで無い対話型シェルの場合だけです) ただ、普通は、デフォルトの .bash_profile の中に、.bashrc を読み込むように書かれているはずで、そのために.bashrcも読まれてしまいます。 --noprofile オプションを付けると .bash_profile等を読みませんが、ログインできない状態でそういう起動は出来ないですよね。 rcp や scp で、.bashrc を/dev/nullで上書きすればどうでしょうか? また、対話型シェルで無ければ.bashrc等を読まないので、ssh HOST mv .bashrc .bashrc.back とかできませんか? あるいは、そもそも、止まっているように見えるが実は入力待ちと言うことは無いですか?
- anmochi
- ベストアンサー率65% (1332/2045)
う~んそれは困ったね。 ・無反応になった時にCtrl+Cしてみる。 ・もしscp(sftp)が使えるなら、そっちで入ってみたら~/.bashrcを編集できないだろうか。
お礼
早速の回答、ありがとうございました。 scpは盲点でした。 が、しかし、残念ながらCtrl+Cもscpもsftpもだめでした。パスワード入力後、プロセスが止まってしまいます。 scpでもだめということは、もっと根本的な問題なのか、、、。
お礼
いろいろとご検討いただき大変感謝します(No1さんも含めて)。 (こんな時間帯でも孤独でない) たいした根拠ではないです。.bashrcを書き換えた後、しばらくして(半日ぐらい)sshでログインしようとしたところ、パスワードの入力は正常にできて、ログインごのシステムからのメッセージも正常に出力されるのですが、その後、コマンドプロンプトの表示がされず、あたかもフリーズしたような状態になります。この状況証拠から、.bashrcの書き換えに問題があると判断しました。
補足
質問者です。 どこにも入力するところがないので、No3さんの補足入力の欄に経過報告をしておきます。 ようやくシステム管理者が出勤してきたので、試しにROOTの権限で.bashrcのファイル名を変更してもらいました。そうしたところ、ログインすることができるようになりました。 原因は、.bashrcの中で、あるディスクのファイルにアクセスする設定にしていたのですが、そのディスクのマウントがどういうわけか解除されていたためみたいです。その部分で.bashrcの動作が止まったみたいです。ディスクのマウントを元に戻したら、問題の.bashrcでも正常にログインできました。scpで対処できなかったのが不思議ですが、解決できました。 皆様にはご協力、ありがとうございました。