-1

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

closed as unclear what you're asking by muru, user88036, Jeff Schaller, αғsнιη, GAD3R Oct 1 '18 at 15:31

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 11
    Could you edit your question to add any error messages output by the failed commands and the first few lines of the script? Also, do you know if the filesystem the script resides on is mounted as noexec or similar? – dsstorefile1 Oct 1 '18 at 8:05
  • 1
    dos file might trigger end-of-line problem, have you tried dos2unix script.sh ? – Archemar Oct 1 '18 at 12:16
  • Does your user have read permission on the script? – Lie Ryan Oct 3 '18 at 5:11
  • Is the script located on a partition mounted with noexec? Check with the mount command. – Kusalananda Oct 3 '18 at 6:53
1

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)

  • It has the line #!/bin/sh – SachiDangalla Oct 1 '18 at 9:21
  • Does /bin/sh actually exist on your system? Is it a shell binary? Does /bin/sh have executable (x) permission set? – Hkoof Oct 1 '18 at 9:30
  • What is the difference between a sh and bash hashbang? – Sam Oct 1 '18 at 9:32
  • See stackoverflow.com/questions/5725296/… – pLumo Oct 1 '18 at 11:25
  • @Sam, it runs a different shell. Not all systems have Bash, and even on those that do, /bin/sh might not be Bash (e.g. Debian and Ubuntu). See e.g. unix.stackexchange.com/q/250913/170373 – ilkkachu Oct 1 '18 at 11:27

Not the answer you're looking for? Browse other questions tagged or ask your own question.