Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #14352

namerefs and environment variable names with subscripts

Path csiph.com!goblin2!goblin1!goblin.stu.neva.ru!usenet.stanford.edu!not-for-mail
From Grisha Levit <grishalevit@gmail.com>
Newsgroups gnu.bash.bug
Subject namerefs and environment variable names with subscripts
Date Tue, 17 Jul 2018 16:44:07 -0400
Lines 27
Approved bug-bash@gnu.org
Message-ID <mailman.3732.1531860264.1292.bug-bash@gnu.org> (permalink)
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Type text/plain; charset="UTF-8"
X-Trace usenet.stanford.edu 1531860264 18861 208.118.235.17 (17 Jul 2018 20:44:24 GMT)
X-Complaints-To action@cs.stanford.edu
To bug-bash <bug-bash@gnu.org>
Envelope-to bug-bash@gnu.org
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=RCRQE7xdwzzkxzAvEYXmfb4ykgnE21aIzOfNLG2EvYU=; b=U1mujgrZ8ZfE75gFl5Ct2zNi91HY5JrUqz3JFNdIcATwYLwjT5ZbqQf67hb+4Wcxf5 KcgeeVQiMXhIxrqRdWhCMsGAu+X2yCPZtpmcjee5VL00aIdr2mdu6d6GCLF1KGHBu4uK 1vQmYi8UMxfeVnW6DJYy5Jp9hVVdEzmm+eo3aMCkQGm0i5WDRksfkubtEFawhDgpoDCM pkVTrylRiF0VkszhydTRBxl2UPkrr36ftTb3/fuY5sNAS0za0U7d4cLZQnFnC9hBKRSU 3yFL/XQA5QL/hjmb2v9T1wzZpHO7PqijYz+r7Lt1UW5jGvTr21z0K3tbrOeSzpzyvNbj ukOQ==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=RCRQE7xdwzzkxzAvEYXmfb4ykgnE21aIzOfNLG2EvYU=; b=jEl3uQGb3cjFlDO9JgaekqWvW6xt4BtGKPk01c4cl7BChn+B16ALDtlINTgfz9lbf5 hr26gZbCtEq66nTSdjd5f06XuXld6aejxBpa5EmvCXKdDCPpeeHz6Qs7ifxgdCGVhPcC ftrxooRXP98Xqut0S7YTyw9Rsod3569tl5CqCZPMr0rQUaz6TLP5tv8EyFtRs/OvdlOm P+fke15XwUYNYPAKyQlGeMy2sEQ/Yd3CZ5SGBykuuXVBFE7QVcyJWtqJFPqtiW9mVy2c amOAdwQkHy8Ymsant3OrhEGclieCaZCWz8faDTuajMrxs4rmxycp5kG/qJO3kTqnIST+ 87aA==
X-Gm-Message-State AOUpUlFaEtZnWmO7DcavQVmIZr9eBk6UrKQkYIXxEoMDSttCTQLQNu9j jbt0KUzQ1g/x26ILBXQqHHK102VyspBQSUypcE5HJ0rP
X-Google-Smtp-Source AAOMgpekpHRtZJUXPUeifaqDciI7PFlxWMB0472IKbaYX3kuVT6Ds1qEkQ8dpSS0w7oDg6ADKV1mnvz3OPUFpwrXf1Q=
X-Received by 2002:a19:eac1:: with SMTP id y62-v6mr2263842lfi.138.1531860258762; Tue, 17 Jul 2018 13:44:18 -0700 (PDT)
X-detected-operating-system by eggs.gnu.org: Genre and OS details not recognized.
X-Received-From 2a00:1450:4010:c07::229
X-BeenThere bug-bash@gnu.org
X-Mailman-Version 2.1.21
Precedence list
List-Id Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org>
List-Unsubscribe <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe>
List-Archive <http://lists.gnu.org/archive/html/bug-bash/>
List-Post <mailto:bug-bash@gnu.org>
List-Help <mailto:bug-bash-request@gnu.org?subject=help>
List-Subscribe <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe>
Xref csiph.com gnu.bash.bug:14352

Show key headers only | View raw


The following commands:

    declare -n r=v[0]
    v=(X); r=Y
    declare -p ${!v*}
    printf "%s: <%s>\n" "r" "$r" "v" "$v"

Will normally produce the following output:

    declare -a v=([0]="Y")
    r: <Y>
    v: <Y>

However, if we start bash with `v[0]' already in the environment, such as with:

    env 'v[0]=' $BASH

The behavior changes, and the output is:

    declare -a v=([0]="X")
    declare -x v[0]="Y"
    r: <Y>
    v: <X>

I would expect namerefs to ignore any variables with the literal name
`v[0]' in the environment rather than follow them.

Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

namerefs and environment variable names with subscripts Grisha Levit <grishalevit@gmail.com> - 2018-07-17 16:44 -0400

csiph-web