I'm a beginner and I need help.
I'm trying to make a script to move some files from one directory in another directory.
Before to create the script I tested the command and it was working:
mv /path/to/source /path/to/destination
After I've made the script with nano
:
#!bin/bash/
echo "mv /path/to/source /path/to/destination"
I've made the script executable with: chmod +x file
and then executed as ./file
but the following error appears:
bash: ./move.sh: /bin/bash/: bad interpreter: Not a directory
I tried and with sudo ./file
and bash file but it’s not working.
I'm using Ubuntu installed with VirtualBox.
Best Answer
That's because you used
#!bin/bash/
and this is wrong. The right way is:This is called a shebang and it tells the shell what program to interpret the script with, when executed.
Another thing: the absolute path for bash interpreter in Ubuntu is
/bin/bash
, notbin/bash/
or something else. You can check this usingwhich bash
command.And another thing, but probably you know this: the following line:
will only display a text message with
mv /path/to/source /path/to/destination
. To really move files use the following script:That is how your script should look like.