Web lists-archives.com

Re: bash string-operator problem




On 2/21/19, Rockefeller, Harry  wrote:
> CYGWIN_NT-6.1 HARRYR-PC 3.0.0(0.336/5/3) 2019-02-16 13:21 x86_64 Cygwin
> GNU bash, version 4.4.12(3)-release (x86_64-unknown-cygwin)
>
> #!/bin/bash
> A="A"
> B="A"
> if [ $A!=$B ]; then          <----- needs spaces around the !=
>     echo -e "not identical"
> fi
> if [ $A==$B ]; then         <------ needs spaces around the ==
>     echo -e "identical"
> fi
> exit 0
>
> Running this script gives
> not identical
> identical
>
> Both tests are true.

because you're testing "A==B"
you need to give 3 parameters  "A"  "=="  "B"

$ cat x
#!/bin/bash
A="A"
B="A"
if [ $A != $B ]; then
    echo  "not identical"
fi
if [ $A == $B ]; then
    echo  "identical"
fi
if [ A!=B ]; then
    echo  "not identical"
fi
if [ A==B ]; then
    echo  "identical"
fi

Lee

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple