On Sun, 31 Jan 2016 15:30:01 +0100 Didier Kryn <[email protected]> wrote:
> Le 31/01/2016 03:12, Steve Litt a écrit : > > #!/bin/sh > > if test "$#" == "0"; then > > lineno="1" > > else > > lineno=$1 > > fi [snip] > Doesn't work out of the box. > > If /usr/bin/test was invoqued you should write '-eq' instead of > '=='. IIRC -eq is for numbers only, not strings. I put doublequotes around each side of the == to make sure it's a string comparison. I consistently do that unless there's a reason I actually want numbers to add and subtract from. > But shell languages have non-standard built-ins. If /bin/sh > points to dash, like in Debian, then the built-in test would accept > '='. I guess '==' is a bashism (actually the adoption of a Cism by a > shell language). Replacing '==' by '=' just works. Confirmed! I replaced the == by =, and it worked perfectly. SteveT Steve Litt January 2016 featured book: Twenty Eight Tales of Troubleshooting http://www.troubleshooters.com/28 _______________________________________________ Dng mailing list [email protected] https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
