Linux

Linuxでシェルスクリプト実行時に[permission denied]が出たときに確認すべきこと

わたしはLinuxの学習を始めて3日目です。

Linuxの学習を始めた当初は良いペースで進んでいたのですが、今日ハマってしました。。

ハマった内容というものがタイトルにもある通り、「Permission denied」です。。

ですが無事に解決できたので、Linuxで「Permission denied」が出てしまったときに確認すべきことを書いていきます!

Linuxでシェルスクリプト実行時に[permission denied]が出たときに確認すべきこと

「Permission denied」が出たときに確認すべきことを解説していきます。

ですがその前に、「Permission denied」について確認しましょう。

Permission deniedとは?

「Permission denied」は簡単に言うと、「そのファイルにアクセスする権限がないため、実行できない」というエラーです!

Linuxの権限に関する記事はググればたくさん出てきますので、そちらを参照してみてください。ボクが参考にした記事を貼っておきます。
permission deniedで悩まされたので勉強してみた

Linuxではrootユーザーというものがあって、基本的にrootユーザーは全ての権限を持っています。

また「sudo」というコマンドもあって、一時的に権限を強くし、通常のユーザーではアクセスできないファイルを実行することができるようになります。

ですが今回ボクがハマったのは、rootユーザーやsudoでは解決できなかったのです。

Permission deniedを解決する方法

シェルスクリプト実行時に出現するPermission deniedを解決する方法は簡単です。

その方法とは、「Vimでシェルスクリプトを作成した後に、+xをつけて実行権限を付与する」です!

文章では分かりにくいですよね。
コードで書くと以下のようになります。

3行目は、実行権限を付与しない状態でシェルスクリプトを実行したため、4行目にエラーが出てしまっています。

6行目にある「chmod +x file1.sh」というコードが、file1.shに実行権限を付与するものです。

もし困っている方がいたら、ぜひ参考にしてみてください!

※5/12 追記
こちらの記事が参考になりそうなので、共有させてください!
→ https://www.luxiar.com/