bug-bash
[Top][All Lists]
Advanced

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

Re: Indirect parameter access combined with Assign Default Values


From: Dan Douglas
Subject: Re: Indirect parameter access combined with Assign Default Values
Date: Wed, 07 May 2014 05:45:54 -0500
User-agent: KMail/4.13 (Linux/3.14.0-pf1+; KDE/4.13.0; x86_64; ; )

This might have the same fix. I guess Bash only checks for valid
variable names during expansion or initial assignment.

     $ bash -xc 'typeset -n x; x=@ x=(ha ha); typeset -p @'
    + typeset -n x
    + x=@
    + x=(ha ha)
    + typeset -p @
    declare -a @='([0]="ha" [1]="ha")'

Bash eventually catches it if you try using the variable so the harm is
minimal. I suppose you could wreck things for somebody evaluating the
output.

     $ typeset -n x; x="_; y" x=foo; typeset -p "${!x}"; eval "$(typeset -p 
"${!x}")"; echo "$y"
    + typeset -n x
    + x='_; y'
    + x=foo
    + typeset -p '_; y'
    declare -- _; y="foo"
    ++ typeset -p '_; y'
    + eval 'declare -- _; y="foo"'
    ++ declare -- _
    ++ y=foo
    + echo foo
    foo

--
Dan Douglas



reply via email to

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