Fix bash: script.sh: Permission denied Error


Bash sh Permission denied
# ./helloWorld.sh
bash: ./helloWorld.sh: Permission denied

If you are trying to run a Bash (.sh) script on your Terminal and you get a "Permission denied" error then most likely is that the script file does not have the execute permissions. You can check that by the ls command

# ls -l helloWorld.sh 
-rw-r--r-- 1 root root 30 Apr  5 10:43 helloWorld.sh

Let's read the permissions out,

r = represents read permission.
w = represents write permission. 
x = represents executable permission.

- => This is not a directory

r => owner has read permission
w => owner has write permission
- => owner does not have execute permission

r => group has read permission
- => group does not have write permission
- => group does not have execute permission

r => group has read permission
- => group does not have write permission
- => group does not have execute permission

As you can see we do not have the execute permission!

Fix: Add execute permission using chmod command
# chmod +x helloWorld.sh
Advertisements
Try Out Code2care Dev Tools:

Advertisements

Advertisements
Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and software developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include learnings, tutorials, trouble-shooting steps, video tutorials, code snippets, how-to, blogs, articles, etc.

🎉 We are celebrating the 10th years of Code2care! Thank you for all your support!

We strongly support Gender Equality & Diversity.