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


Groups > gnu.bash.bug > #16319

test -v with array elements

Path csiph.com!goblin2!goblin1!goblin.stu.neva.ru!usenet.stanford.edu!not-for-mail
From Luiz Angelo Daros de Luca <luizluca@gmail.com>
Newsgroups gnu.bash.bug
Subject test -v with array elements
Date Fri, 29 May 2020 17:00:54 -0300
Lines 47
Approved bug-bash@gnu.org
Message-ID <mailman.651.1590782471.2541.bug-bash@gnu.org> (permalink)
References <CAJq09z4cbksdvTmvZPRryLiLaB34G18ZM9ORECLMoExX2RxjgQ@mail.gmail.com>
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Type text/plain; charset="UTF-8"
X-Trace usenet.stanford.edu 1590782473 18683 209.51.188.17 (29 May 2020 20:01:13 GMT)
X-Complaints-To action@cs.stanford.edu
To 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=WKdLO7zPOsCeu6rB0DiZyzBIIY4H7L5PNQTdQN446eQ=; b=d+ZRp5iJd9a7HqoKoIiZFYIt1lhW48/1S6vaK9EQcQXVZpk4O5Tilw/U/mG/c2ECak 4lK7TJgu9zUjo+A8OSBpxCMbz98MJ2V0ZBOORDbebbVeFM5I9GgZrY0RIx/4gLfNffI5 7rUqYTx/pDcxvpJJq4fOulPQeSDfxgURKG4u9EiPw7ody1XkGKku900S+wsFwKtHFLsT vmoLx7dbyIsE0h/cSW6fdlX9dVwOQHU59Cxyfphij3wVRh2lNXxBj5tOx2oxosPYAvoW /VR+550kIM2RAAX0to16YqRgUXYTCT9EqNIW5bACZMqQOY8N7qbmv00uBtQuW22/OlQs wyIg==
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=WKdLO7zPOsCeu6rB0DiZyzBIIY4H7L5PNQTdQN446eQ=; b=BJwYnqVwoQoHGEPs+brsWpmI6yukJtFeG2nNbydNGqkNnTeQJf976OdPbCP8r0YwZS vSinSMixnT0sKjy2pMlCcGcplDebG/0So8rX1o1mOtpYSkMItppFva/BsRCRRudcW547 wfc9TYrWBPvjrPtKc3ws0As/njQzeQuizsQHRrZ0axHnv4zXnd7loDWQXK95bWKnONGk eRXGWq4kQOcZDWhxoxJUm4ztlIQ0qGQ96to8drYW3NZvDxa3asDA7x5FSyu9WUryCWaL eMcVb+PQ/Vyf/oRXqOioUWYlgnkTS2TzUMpDAuwiHx20C35QncJodUWt4WDTjuLtwXJ5 wvLw==
X-Gm-Message-State AOAM532UY176U1vkyexEp9dLwY6drP1ZFQhyWIfXHsjguIB4Rw0CqJ14 JAr4FHbJl//oRBupmLGjdpxQsBjO5Emwi4rq2hmh8foo4OM=
X-Google-Smtp-Source ABdhPJzhzoAG2h5x6eQ+N7uOnISRtPDNPZkw2vr8+H89B2slpwBdKHalTixOR/cPaio5pGvxgbl7poU96FpSTydCB+4=
X-Received by 2002:a65:5285:: with SMTP id y5mr10207919pgp.271.1590782465832; Fri, 29 May 2020 13:01:05 -0700 (PDT)
Received-SPF pass client-ip=2607:f8b0:4864:20::52b; envelope-from=luizluca@gmail.com; helo=mail-pg1-x52b.google.com
X-detected-operating-system by eggs.gnu.org: No matching host in p0f cache. That's all we know.
X-Spam_score_int -20
X-Spam_score -2.1
X-Spam_bar --
X-Spam_report (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001 autolearn=_AUTOLEARN
X-Spam_action no action
X-BeenThere bug-bash@gnu.org
X-Mailman-Version 2.1.23
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 <https://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>
X-Mailman-Original-Message-ID <CAJq09z4cbksdvTmvZPRryLiLaB34G18ZM9ORECLMoExX2RxjgQ@mail.gmail.com>
Xref csiph.com gnu.bash.bug:16319

Show key headers only | View raw


Hello,

While using test -v, I noticed that it returns false when I use it
with a sparse or empty array. I need to add [@] or [index] to have it
return true.

Is this expected? If so, it is not documented. It only has:

"True if the shell variable varname is set (has been assigned a value)."

I'm using GNU bash, version 5.0.16(1)-release (x86_64-pc-linux-gnu)

$ A=()
$ test -v A || echo not defined
not defined

Should it?

$ A=(x)
$ test -v A || echo not defined

OK

$ A=()
$ A[1]=1
$ test -v A || echo not defined
not defined

Should it? 'test -v A' is equivalent to 'test -v A[0]'

$ test -v A[1] || echo not defined
$ test -v A[2] || echo not defined
not defined

if index is specified, it would be ok to have it return false. It
would be a better way to test if an array contains a value (other than
variable expansion).

$ test -v A[@] || echo not defined

This only fails when A is an empty array, which might be correct.

Regards,
---
     Luiz Angelo Daros de Luca
            luizluca@gmail.com

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


Thread

test -v with array elements Luiz Angelo Daros de Luca <luizluca@gmail.com> - 2020-05-29 17:00 -0300

csiph-web