[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Quoting and string comparison
From: |
Jaan Vajakas |
Subject: |
Re: Quoting and string comparison |
Date: |
Thu, 8 Feb 2018 15:27:40 +0100 |
So should Bash report a syntax error?
2018-02-08 15:24 GMT+01:00 Clark Wang <dearvoid@gmail.com>:
> On Thu, Feb 8, 2018 at 9:05 PM, Jaan Vajakas <jaan.vajakas@gmail.com>
> wrote:
>
>> Hi!
>>
>> I noticed a weird behavior. Is it a bug?
>>
>> Namely, why does
>>
>> echo "$(for f in a b c; do if [[ \"$f\" > b ]]; then echo "$f > b"; else
>> echo "$f <= b"; fi; done)"
>>
>
> Should be:
>
> echo "$(for f in a b c; do if [[ $f > b ]]; then echo "$f > b"; else
> echo "$f <= b"; fi; done)"
>
>
>> output
>>
>> a <= b
>> b > b
>> c > b
>>
>> ?
>>
>> I would have expected the same output as one of
>> echo "$(for f in a b c; do if [[ "$f" > b ]]; then echo "$f > b"; else
>> echo
>> "$f <= b"; fi; done)"
>> echo "$(for f in a b c; do if [[ '"$f"' > b ]]; then echo "$f > b"; else
>> echo "$f <= b"; fi; done)"
>>
>> This happens e.g. on GNU Bash v4.4 (e.g.
>> https://www.tutorialspoint.com/execute_bash_online.php ).
>>
>>
>> Best regards,
>> Jaan
>>
>
>