Your message dated Thu, 12 Nov 2015 20:06:18 +0100
with message-id <[email protected]>
and subject line Re: Bug#384197: dash: 3-argument test implementation isn't
quite right
has caused the Debian Bug report #384197,
regarding dash: 3-argument test implementation isn't quite right
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
384197: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=384197
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: dash
Version: 0.5.3-3
Severity: normal
$ [ '!' != '*' ]
[: 1: *: unexpected operator
POSIX says of the 3-argument case for test(1):
3 arguments:
* If $2 is a binary primary, perform the binary test of $1 and $3.
* If $1 is '!', negate the two-argument test of $2 and $3.
* [XSI] If $1 is '(' and $3 is ')', perform the unary test of $2.
* Otherwise, produce unspecified results.
It seems to me that dash performs the first two rules in the wrong
order. (POSIX doesn't explicitly say that these rules are ordered, I
suppose, but anything else seems to be a tortuous interpretation.)
Thanks,
--
Colin Watson [[email protected]]
--- End Message ---
--- Begin Message ---
Version: 0.5.7-4+b1
It looks like this problem has been fixed upstream and included in one
of the existing Debian packages.
Using dash 0.5.7-4+b1 I get no syntax errors and the behaviour is the
same I get using bash.
$ [ '!' != '*' ] && echo "OK" || echo "fail"
OK
Regards,
--
Gioele Barabucci <[email protected]>
--- End Message ---