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 c...@case.edu http://tiswww.cwru.edu/~chet/