[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#24055: Bug: #!/usr/bin/env gives poor error message for DOS line-end

From: Simon Richard Clarkstone
Subject: bug#24055: Bug: #!/usr/bin/env gives poor error message for DOS line-endings
Date: Fri, 22 Jul 2016 21:39:58 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0

I have found a poor error message in env (GNU coreutils) 8.23, on FC22.


I created the following executable file, with a DOS line-end:

#!/usr/bin/env sh

When run, it displays the following error message on my terminal:

: No such file or directory

This error message is cryptic. However, if you process stderr through `cat -v` to display nonprintable characters, you find the error message has a CR in it:

/usr/bin/env: sh^M: No such file or directory

and the CR caused the second half of the error message to over-write the first half when displayed on-screen.


To diagnose the problem I had to use strace, so IMO this error message could be improved by expanding out control characters. For example see how bash handles an analogous situation, with the script:


Which displays:

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

Here, bash has expanded out the ^M before displaying it, showing that something is stuck on the end of the #! line.

Simon Richard Clarkstone, CoreFiling Limited
Software Engineer, Data Modelling
Phone: +44-1865-203192

reply via email to

[Prev in Thread] Current Thread [Next in Thread]