This is the mail archive of the
cygwin
mailing list for the Cygwin project.
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