|
From: | Martijn Dekker |
Subject: | Re: Should [[ -v 1 ]] be supported? |
Date: | Thu, 27 Dec 2018 22:11:44 +0100 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
Op 27-12-18 om 19:22 schreef Chet Ramey:
On 12/26/18 10:49 PM, Peng Yu wrote:Although [[ -z ${1+s} ]] and (($#)) works for testing if $1 is set, neither of them are uniformly better performance wise. In this case, should [[ -v 1 ]] be supported?So you're saying that neither of the existing options performs better than the other, though they both perform well, so we should add some new capability just because? That's a particularly poor argument.
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} ]].
FWIW, zsh and mksh do support this; ksh93 doesn't. - M.
[Prev in Thread] | Current Thread | [Next in Thread] |