bad interpreter: No such file or directory

When my tomcat context suddenly wouldn’t start anymore I found myself scratching my head. I couldn’t figure out why the startup.sh script always threw the error

bash: ./catalina.sh: /bin/sh^M: bad interpreter: No such file or directory

After investigating for a while I found that I had two seemingly identical files. One would run fine, the other threw a “bad interpreter” error.

Apparently if a shell script gets opened and saved in notepad it will not run anymore.

A simple “dos2unix catalina.sh” fixed the problem.

In Ubuntu the dos2unix binary can be found in the tofrodos package.