~/.bashrc ファイルをいじった後、ターミナルが出力を吐き出さない

~/.bashrc ファイルをいじった後、ターミナルが出力を吐き出さない

私の端末イメージ:

ここに画像の説明を入力してください

ここに画像の説明を入力してください

WSL で Ubuntu を使用していますが、GUI にアクセスできません。

前述の私の端末の画像では、入力したものに対して何も出力が表示されません。端末はエディターのように動作しています。これは、PS1 変数を編集した後に発生しました。このアクションを元に戻したいです。

答え1

無事に抜け出せてよかったです。今後は、WSL を使用するので、回復するための次のオプションもあることを覚えておいてください。

PowerShell、CMD、またはスタート メニューから:

wsl -e bash --norc --noprofile

これにより、WSL が起動し、(およびその他) などの起動ファイルを処理せずに Bash が実行されます~/.bashrc。そこから、起動ファイルやその他の問題を検査して修正できます。これは通常、このタイプの問題に対する最適な回復メカニズムです。

.bashrc次のようにシェルを起動せずに直接編集することもできます。

wsl -d Ubuntu20.04_WSL2 -e editor /home/<username>/.bashrc

注:editorコマンドは、Ubuntu (デフォルトでは ) の「優先エディタ」にマップされますnano。他のディストリビューションでは、エディタ名自体を指定する必要がある場合があります (例vi)。 でデフォルトのエディタを変更できますsudo update-alternatives --config editor

ついに:

wsl -u root

これにより、WSL にルート ユーザーとしてアクセスし、ユーザー ファイルを編集できるようになります。/etc/profile(または.dサブディレクトリに) エラーがある場合は、ルート ユーザーに同じエラーが発生するため、この方法は機能しないことに注意してください。そのため、私はこの--noprofile --norcオプションを好む傾向があります。

また、コメントから:

bashrcを開くことができません

2 つのオプションがあります。

  • @terdon がコメントで述べたように、Windows のファイル エクスプローラーを使用してファイル\\wsl$\Ubuntu\home\<username>\(または使用しているディストリビューション名、バージョン番号がある場合があります) に移動することで、少なくともファイルを表示できます。

    お勧めしません編集アプリケーションが Linux/Unix の行末を尊重することが確実でない限り、Windows アプリケーションを使用してファイルを変換しないでください。一部のアプリケーション (たとえば、メモ帳の古いバージョン) は、行末を DOS/Windows の CRLF に変更することで、ファイルを「破損」させます (少なくとも Bash の観点からは)。

  • または、PowerShell から:

    wsl -e cat /home/<username>/.bashrc | clip.exe
    

    これにより、クリップボードに直接コピーされ、次回の質問に関連する部分を貼り付けることができるようになります。

テキストの画像は投稿しないでください。テキストを質問に直接コピー/貼り付けしてください。

スクリーンショットに入力したテキストをターミナル内で直接ハイライトし、質問に貼り付けることもできます。

私は...するだろうまだこれを実行してください(まだエラーが完全に修正されていない場合)。そうすることで、他の人がウェブ検索であなたの質問を見つけやすくなるかもしれません。もちろん、画像はインデックス化されないことが多いです。ここテキストで十分な場合はスクリーンショットを避けるようお願いする追加の理由。

答え2

Ctr+C を押すと問題は解決します。

関連情報