bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] efficient [[ -v 1 ]] [was: Should [[ -v 1 ]] be supported?]


From: Chet Ramey
Subject: Re: [PATCH] efficient [[ -v 1 ]] [was: Should [[ -v 1 ]] be supported?]
Date: Sat, 18 Jan 2020 19:23:00 -0500
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.3.1

On 1/18/20 2:48 PM, Martijn Dekker wrote:
> Op 29-12-18 om 01:19 schreef Chet Ramey:
>> On 12/27/18 3:11 PM, Martijn Dekker wrote:
>>
>>> Consistency might be a better argument. If [[ -v foo ]] is equivalent to [[
>>> -n ${foo+s} ]] for variables (with the advantage that you don't need 'eval'
>>> to handle arbitrary values of 'foo'), then perhaps it's not unreasonable to
>>> expect [[ -v 1 ]] to be equivalent to [[ -n ${1+s} ]].
>>
>> The completeness argument is more rigorous, and there's a case to add this
>> in a future version of bash. He didn't make that argument, though.
> 
> I noticed some deactivated code tagged bash-5.1 with my name on it. Cool. :)
> 
> Isn't the way below much more efficient, though? There's no need to
> retrieve and discard the value of a positional parameter -- we can just
> compare the number to $#, i.e. number_of_args(). Any number between 0 and
> $#, inclusive, represents a set positional parameter by definition.

Thanks; that's clever.

Chet

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    chet@case.edu    http://tiswww.cwru.edu/~chet/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]