Op 28-10-16 om 15:00 schreef Chet Ramey:
> On 10/25/16 12:40 AM, Martijn Dekker wrote:
>> Try simply testing the exit status of 'typeset -p' or 'declare -p'. If
>> the variable is not declared, it exits unsuccessfully.
>>
>>     if typeset -p "$var" >/dev/null 2>&1 && [[ ! -v $var ]]
>>     then ...
>>
>> As far as I can tell, this is not documented in 'help' or in the info
>> page, by the way. Perhaps it should be.
> 
> It's documented.  The man page, for instance, says:
> 
> "The return value is 0 unless ... one of the names is not a valid shell
> variable name"
> 
> which handles both the "not correctly formed" and "not found" cases.

To me that seems like a far-fetched interpretation. The way I read it,
if a variable is not declared, that does not imply its name is not
valid. An invalid name would mean it is impossible to declare it. I
think adding ", the variable is not declared" would prevent
misunderstandings.

- M.


Reply via email to