I'm on a Centos server and when I tried to run
./script.sh
I get the Permission Denied error even after I tried adding chmod +x script.sh.
sh script.sh works though.
UPDATE
The script file starts with #!/bin/sh
Most probably your script lacks a "shebang". The system tries to read which interpreting program should be executed to run the script. A "shebang" is recognized by the system if it is on the very first line and starts with #!.
Examples:
#!/bin/bash #!/bin/sh #!/usr/bin/env python #!/bin/sed Note that #! is a comment otherwise in most scripting languages, so it will not error out if you run it with a specific interpreting program from the command line like so:
$ bash ./script.sh More information: https://en.wikipedia.org/wiki/Shebang_(Unix)
#!/bin/sh /bin/sh actually exist on your system? Is it a shell binary? Does /bin/sh have executable (x) permission set? /bin/sh might not be Bash (e.g. Debian and Ubuntu). See e.g. unix.stackexchange.com/q/250913/170373
dos2unix script.sh?noexec? Check with themountcommand.