Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm on OSX Snow Leopard.

Here's the full contents of grr.sh:

#!/bin/sh

echo wow

When 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
wow

Okay. 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 found

Hmmm. Maybe it'll work if I use bash explicitly? I'll change the file's contents to:

#!/bin/bash

echo wow

And I get the exact same results. What could I have broken?!

One last thing! In case you're curious...

$ which sh
/bin/sh
share|improve this question
add comment

3 Answers 3

up vote 10 down vote accepted

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.

share|improve this answer
    
+1. Also of note, the current directory is on the path on Windows systems by default, and is highest in priority. This crucial difference is probably the source of the asker's confusion. –  afrazier Jun 1 '11 at 4:57
    
You were first by 9 seconds! Thank you! –  Closure Cowboy Jun 1 '11 at 4:59
    
Dammit! Nearly had my first accepted answer! :P –  Cam Jackson Jun 1 '11 at 11:23
add comment

Is the location of grr.sh in the $PATH variable? If not, you'll need to enter:

./grr.sh

if you are in the same folder as grr.sh. If not, then provide the full path to it.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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