bash string-operator problem
Lee
ler762@gmail.com
Thu Feb 21 20:24:00 GMT 2019
On 2/21/19, john doe wrote:
> On 2/21/2019 5:18 PM, Lee wrote:
>> 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
<.. snip ..>
>
> One equal sign ('=') should be used instead of two equal signs ('==').
The man page for test says you're correct, but just out of curiosity
-- why do two equal signs work?
$ cat /tmp/x
#!/bin/bash
A="A"
B="A"
if [ $A == $B ]; then
echo "identical"
fi
if [ $A = $B ]; then
echo "identical"
fi
$ bash /tmp/x
identical
identical
Thanks,
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
More information about the Cygwin
mailing list