
答え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 を押すと問題は解決します。