Problem:
When executing a korn shell script, execution fails with the following error:
/bin/ksh^M: bad interpreter: No such file or directory
Background:
I transferred the executable korn shell script from my backup on my Windows server to a RHEL 5.1 host. On Linux, opened the file using the vi editor and did not find any ^M characters. Also, checked file with "set list" in vi.
Solution:
I used dos2unix on the file as follows:
dos2unix myscript.ksh |
Note: Usually, improper file transfer modes in ftp can cause this problem. However, I used ascii mode and checked the file using the vi editor, but didn’t find anything abnormal. So, dos2unix is your best bet!
Root Cause:
Invalid file format after transferring it from a Windows machine to a UNIX host.
NOTE:
(1) The solution above describes a successful problem-solving experience and may not be applicable to other problems with similar symptoms.
(2) Your rating of this post will be much appreciated. Also, feel free to leave comments.
Thank you, it worked.