Shell script error – bad interpreter messages and solution

last updated in Categories , ,

. I have downloaded some shell script but when I try to run these shell scripts I get error bad interpreter… How do I fix this error?

A. Make sure you have required shell installed. Each shell script specifies default interpreter at top of the script. For example, consider following script:
#!/bin/sh
# This is...
clear
A=`pwd`
...
.....
...

#!/bin/sh is default interpreter to execute this script. Use ls command to verify that you have /bin/sh installed
$ ls /bin/sh

If /bin/sh is not installed, use rpm, up2date or apt-get command to install required shell.

Another problem is if script was edited or written on MS-DOS platform, you will see CR/CRLF in script. Use dos2unix command to convert theses scripts to UNIX format.
dos2unix script-file-name

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Share this on (or read 3 comments/add one below):

3 comment

  1. thanks a lot my problem got solved, i tried all the ways when i used dos2unix it worked, I forgot that i edited the script previously in windows.

  2. where do you use dos2unix?
    I could not use it in command prompt and in unix
    is there a dos2linux command?
    thanks!

    Have a question? Post it on our forum!