I'm on OSX Snow Leopard.
Here's the full contents of grr.sh:
#!/bin/sh
echo wowWhen I try to run it from terminal:
$ grr.sh
-bash: grr.sh: command not found
$ /bin/sh grr.sh
wow
$ sh grr.sh
wow
$ bash grr.sh
wowOkay. Fair enough. I'll give it executable permission, then try again:
$ chmod +x grr.sh
$ grr.sh
-bash: grr.sh: command not found
$ chmod 755 grr.sh
$ grr.sh
-bash: grr.sh: command not foundHmmm. Maybe it'll work if I use bash explicitly? I'll change the file's contents to:
#!/bin/bash
echo wowAnd I get the exact same results. What could I have broken?!
One last thing! In case you're curious...
$ which sh
/bin/sh 4 Answers
Absolutely nothing. Only executables in one of the directories in $PATH can be run directly, and . is (usually) never in $PATH. Specify the path to the executable, i.e. ./grr.sh.
Is the location of grr.sh in the $PATH variable? If not, you'll need to enter:
./grr.shif you are in the same folder as grr.sh. If not, then provide the full path to it.
the permissions for the file are wrong. Try the following commands:
$ chmod 777 file.sh $ ./file.sh Yeah, and what ./grr.sh means, is that in this directory, run the command grr.sh. The single . means in the working directory. Otherwise, your shell assumes you are trying to run a command in your $PATH.