web-dev-qa-db-ja.com

Windows上のUbuntuのBashで、起動時に「-bash:/home/user/.bashrc:Permission denied」エラーが発生する

Linuxを学ぶためにWindowsのUnbuntuでBashを使っていたので、.bashrcファイルを編集の方法として試みました。これを行うには、Cドライブのルートフォルダーに移動し、VS Codeで.bashrcを開きました。ファイルの最後に1行追加しました。

Ubuntuを実行しようとすると、このエラーが表示され(まだ機能する場合でも)、以前行った操作を元に戻そうとしても、エラーが引き続き発生します。なにが問題ですか?

3
wjmccann

なにが問題ですか?

C:ドライブのルートフォルダーに移動し、VSCodeで.bashrcを開いたとのことですが、使用したVSCodeがWSLではなくWindowsにインストールされていると想定しています。さて、あなたが遭遇した正確な状況を説明するマイクロソフトの公式ブログの ブログ投稿 を紹介したいと思います。 これ も役立ちます。

変更を元に戻すには、以前と同じ方法で.bashrcを開き、すべてのコンテンツを別のファイル(デスクトップなど)にコピーすることをお勧めします。 .bashrcファイルを削除します。 WSLでテキストエディターを開きます。vimまたはgeditを使用し、.bashrcという名前のファイルを作成して、ホームディレクトリに保存し、デスクトップに保存したすべてのテキストを新しい.bashrcにコピーすれば、すべて完了です。

5
DeusExMachina

シェルを起動してこのエラーが表示されたら、そのファイルの権限を「リセット」します。


これを試す

1)そこに行くcd /home/{USER}/そして

2)権限の変更chmod 644 .bashrc


注:

1)私にとってはSudoなしで機能していました

2)644は、ユーザーが書き込み可能、​​読み取り可能、実行可能、グループなどが読み取り可能であることを意味します


WindowsでNotepad ++を使用して一部の.bash***ファイルを編集したため、この問題が発生しました。ファイルを保存した後、Ubuntuでは実行できなくなりました。

@DeusExMachinaが言及したように、変更をコピー、保存、再作成する代わりに、ファイルのアクセス許可で何が起こったかを確認したいと思いました。

ホームディレクトリに移動して、各ファイルの権限を確認したところ、編集したファイル.bashrcおよび.bash_aliases000の権限が付与されていることがわかりました。これにより、Windowsによってロックされました。

編集したファイルの権限を000から644に変更したところ、再び機能しました。

0
Nico W.