Re: [bug?] echo -n does not work as described

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

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 11/11/2015 10:40 PM, Kevin Korb wrote:
> On 11/11/2015 10:14 PM, Eric Blake wrote:
>> On 11/11/2015 06:56 PM, Kevin Korb wrote:
>>> I am on dash version 0.5.8.2 on Gentoo Linux (USE=libedit 
>>> -static).
>>> 
>>> The echo builtin does not work as described.  In the man page:
> 
>> Which man page? Coreutils'?

no, /usr/share/man/man1/dash.1.xz on my box

> I was quoting the dash man page.  I did quote the result of the 
> coreutils version of echo (/bin/echo) which worked correctly.
> 
>> Read it further:
> 
>>> NOTE: your shell may have its own version of echo, which
>>> usually super‐ sedes the version described here. Please refer
>>> to your shell's docu‐ mentation for details about the options
>>> it supports.
> 
>> By the way, 'echo -n' is non-portable, and POSIX says you should 
>> use 'printf' instead.

If dash refuses to supply a compatible version of echo then dash must
not include a builtin version of echo.  If dash didn't have a broken
embedded version of echo I wouldn't have a problem.

> This isn't my problem.  I am trying to use dash as a replacement
> for /bin/sh and it is failing horribly.  I am not the authors of
> the problem scripts.  Plus, frankly, it is absurd to require printf
> where echo [-n] should work correctly according to the dash
> documentation.
> 
>> http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html
>
>>  A string to be written to standard output. If the first operand 
>> is -n, or if any of the operands contain a <backslash>
>> character, the results are implementation-defined.
> 
>>> $ echo -n testing -n testing
> 
>> Dash's implementation-defined behavior for -n is to treat it the 
>> same as every other string.  Thus, this is not a bug in dash, at 
>> least according to POSIX.

Then why does the man page say otherwise?

> Either this is a bug in dash or in dash's man page.  The man page
> is clear about how echo and echo -n should work.  But the reality
> is very different.
> 
>>> This is causing me problems when I attempt to switch /bin/sh
>>> from bash to dash.
> 
> This isn't stuff I have written.  This is stuff that I am tired of 
> modifying to be dash compatible.
> 
> Either dash's echo command should operate as documented or the 
> documentation should be corrected.
> 
>> It's probably not the only bashism you've been relying on.  You
>> may want to try using checkbashisms 
>> (http://sourceforge.net/projects/checkbaskisms/) to help you
>> find other portability pitfalls.

> -- To unsubscribe from this list: send the line "unsubscribe dash"
> in the body of a message to majordomo@xxxxxxxxxxxxxxx More
> majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

- -- 
~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,
	Kevin Korb			Phone:    (407) 252-6853
	Systems Administrator		Internet:
	FutureQuest, Inc.		Kevin@xxxxxxxxxxxxxxx  (work)
	Orlando, Florida		kmk@xxxxxxxxxxxxxx (personal)
	Web page:			http://www.sanitarium.net/
	PGP public key available on web site.
~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlZEC3oACgkQVKC1jlbQAQfJawCeIdQetXk4zloxdAWk0+ZmreeQ
bX4AniCxpW0lwUSzkcO80nAru1xU5RQr
=belp
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe dash" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux