bug-bash
[Top][All Lists]
Advanced

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

Re: parameter expansion null check fails for arrays when [*] or [@] is u


From: Alex fxmbsw7 Ratchev
Subject: Re: parameter expansion null check fails for arrays when [*] or [@] is used
Date: Wed, 23 Mar 2022 13:13:56 +0100

there is nothing but a simple str minus str, results in null string
some, internal check, to make null nothing strings marked non existing, is
up to you to code, and yet such doesnt exist much i think in sh bashism

On Wed, Mar 23, 2022, 12:44 Greg Wooledge <greg@wooledge.org> wrote:

> On Wed, Mar 23, 2022 at 01:48:48AM -0700, L A Walsh wrote:
> > On 2022/03/23 00:25, Ilkka Virta wrote:
> > > The POSIX phraseology is that "null" means the empty string.
> > ----
> >    POSIX phraseology applies to the POSIX language.
> >
> > In 'C'
> >
> > char *s = NULL
> > is not the same as
> > char *s="";
>
> Yes, we know this.  But this is bug-bash, so we're discussing the shell
> known as bash.  Bash doesn't have pointers, so it cannot have NULL pointers
> either.
>
> Would I have chosen to use the word "null" to mean "empty string" in
> the shell's documentation, if I were writing it?  No.  I wouldn't have,
> because it's an overloaded word with very different meanings in different
> contexts (cf. SQL's NULL, and the ASCII NUL character).
>
> But as it happens, the writers of the POSIX standards *did* use that
> word in some places, and so we have to live with it.
>
> unicorn:~$ man 1p sh | grep -i null
>                  argument. If FCEDIT is null or unset, ed shall be used as
> the
>                  ables  that are unset or null. (See the Base Definitions
> vol‐
>
> Back to the original topic, I have absolutely no idea what "${a[@]:+word}"
> is supposed to do.  It doesn't make any sense to me, and I would never
> write that in a script.  So, I have no comments about it in terms of
> this bug report.
>
>


reply via email to

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