Steve Long wrote:
> Bo Ørsted Andresen wrote:
>
>> On Monday 24 September 2007 21:56:49 Donnie Berkholz wrote:
>>> > if [[ "$(gcc-major-version)" -gt "3" ]] || \
>>> > ( [[ "$(gcc-major-version)" -eq "3" ]] && [[ "$(gcc-minor-version)"
>>> > -gt "3" ]] )
>>>
>>> Code block { } might be good here instead of a subshell, or perhaps it
>>> could use logic that's less convoluted such as if..then. Also don't need
>>> the double quotes.
>>
>> Or it could be as simple as:
>>
>> if [[ $(gcc-major-version) -gt 3 || \
>> ( $(gcc-major-version) -eq 3 && $(gcc-minor-version) -gt 3 ) ]]
>>
>> [[ allows grouping of conditions without spawning subshells.
>>
> http://wooledge.org/mywiki/BashFAQ#faq31 explains the differences between
> [[ and [, although in this case I'd use:
> if ((gcc-major-version>3 || (gcc-major-version==3 && gcc-minor-version>3)
> ))
>
> "As a rule of thumb, [[ is used for strings and files. If you want to
> compare numbers, use an ArithmeticExpression."
>
>
Er missed that it's a function call (thanks zlin) but the general point
applies (and tbh I wouldn't call the function twice in any case, so
Donnie's point re logic might be more cogent.)
--
[EMAIL PROTECTED] mailing list