Solving `permission denied` error for shell scripts
May 10, 2021 ‐ 1 min read
If try to run a script, whether it is written in Python, bash or something else, you may encounter an error saying
Lets say for example you have a file called
script.sh which runs perfectly fine when you run it using a interpreter like:
$ bash ./script.sh Hello World
However, you prefer to run it without the
bash and use just the file name. Or later even as a command instead by adding it to your PATH.
In that case you may see the following error.
$ ./script.sh bash: ./script.sh: Permission denied
This error indicates that the
execute file permission is missing. In order to add this
execute permission you use the
chmod command, which is short for change file mode. By running the following command we can make the script executable.
$ chmod u+x ./script.sh
And as we now see this indeed did the trick. Make sure you have added the shebang comment though.
$ ./script.sh Hello World