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:
#!bin/bash
#test.sh
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:
test.sh
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?
Best Answer
Replace:
With:
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:
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.