I am new to Linux, and I have a shell script (.sh) file I on my Desktop that I want to run.

This is the content of the test.sh file on my Desktop directory:

echo "test"

I want to run (execute) test.sh through the terminal. These are the commands that I'm using:

cd Desktop

I give permission to run test.sh with:

chmod +x test.sh

and then try to open the file:


But I get this error:

test.sh: command not found

and when I enter test.sh with ./, I again get this error:

bash: ./test.sh: bin/bash: bad interpreter: No such file or directory

What am I doing wrong?

4 Answers 4

bash: ./test.sh: bin/bash: bad interpreter: No such file or directory





bin/bash is a path relative to the current directory. /bin/bash is an absolute path that works whatever the current directory is.

Also, have a look at your PATH:

echo $PATH

If you place test.sh in any directory listed there and you will will be able to execute it without the ./ or other path specifier. Many people create a $HOME/bin directory, place all their scripts there, and add it to their PATH.

  • 1
    Khoda Pedar Madarat ra biamorzad (I mean God Bless you And your parents) Nov 10, 2014 at 22:06

To be able to run your bash script, change first line to


That is the binary that will interpret and run your script.

To run a bash script, do the following


In your example:


in the directory where you have the script.


I edited the .sh file on a Windows machine and saw similar issue. The issue was fixed after running dos2unix on the script.


I had the same problem

zsh: not a directory: ./tst.sh

enter image description here

my solution ✅

git diff

- #!/usr/bin/env/ bash
+ #!/usr/bin/env bash

enter image description here enter image description here


# ✅
#!/usr/bin/env bash

# ❌ with `/` beginning of the path
#!usr/bin/env bash

# ❌ with `/` end of the path
#!/usr/bin/env/ bash

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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