[Toybox] making ./configure executable.

Ryan Prichard rprichard at google.com
Mon Feb 5 11:59:47 PST 2018


FWIW: I think the problem is the double-equals operator:

$ /bin/dash -c 'if [ x = x ]; then echo foo; fi'
foo

$ /bin/dash -c 'if [ x == x ]; then echo foo; fi'
/bin/dash: 1: [: x: unexpected operator

$ /bin/dash -c 'if /usr/bin/[ x == x ]; then echo foo; fi'
foo

POSIX hasn't specified ==. I'm guessing it's strictly equivalent to =?

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html

-Ryan


On Sun, Feb 4, 2018 at 6:11 PM, Rob Landley <rob at landley.net> wrote:

> I tried adding this to configure:
>
> if [ "$(basename "$0")" == configure ]
> then
>   echo "This file is just a persistent place to set environment variables."
>   echo "You probably want to run 'make defconfig'."
>   echo "Type 'make help' for more options, or see the README."
>   exit 1
> fi
>
> But if your #!/bin/sh points to the Defective Annoying SHell it
> goes "unexpected operator [" EVEN THOUGH "[" IS IN THE $PATH,
> and I'm just not going there.
>
> So I've put #!/bin/bash at the top, set the executable bit, and
> I'm keeping the complaint to one line and running "make defconfig"
> anyway on the theory making it easier to use is better than trying
> to educating people with a pop-up window error.
>
> Rob
> _______________________________________________
> Toybox mailing list
> Toybox at lists.landley.net
> http://lists.landley.net/listinfo.cgi/toybox-landley.net
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.landley.net/pipermail/toybox-landley.net/attachments/20180205/fdc7f9ff/attachment-0001.htm>


More information about the Toybox mailing list