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


Groups > gnu.bash.bug > #14379 > unrolled thread

Re: Empty ""s in ARG in ${x:+ARG} expand to no words instead of the empty word if prepended/appended with space

Started byBob Proulx <bob@proulx.com>
First post2018-07-21 11:16 -0600
Last post2018-07-21 11:16 -0600
Articles 1 — 1 participant

Back to article view | Back to gnu.bash.bug

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Empty ""s in ARG in ${x:+ARG} expand to no words instead of the empty word if prepended/appended with space Bob Proulx <bob@proulx.com> - 2018-07-21 11:16 -0600

#14379 — Re: Empty ""s in ARG in ${x:+ARG} expand to no words instead of the empty word if prepended/appended with space

FromBob Proulx <bob@proulx.com>
Date2018-07-21 11:16 -0600
SubjectRe: Empty ""s in ARG in ${x:+ARG} expand to no words instead of the empty word if prepended/appended with space
Message-ID<mailman.3985.1532193386.1292.bug-bash@gnu.org>
Chet Ramey wrote:
> Bob Proulx wrote:
> > Denys Vlasenko wrote:
> >> $ f() { for i; do echo "|$i|"; done; }
> >> $ x=x
> >> $ e=
> >> $ f ${x:+ ""}
> >> ^^^^^^^^^^^ prints nothing, bug?
> >>
> >> $  ${x:+"" }
> >> ^^^^^^^^^^^ prints nothing, bug?
> > 
> > Insufficient quoting.  That argument should be quoted to avoid the
> > whitespace getting stripped.  (Is that during word splitting phase
> > using the IFS?  I think so.)
> 
> Even if the whitespace gets stripped out, the quoted null string should
> result in an empty argument. Different shells are inconsistent about this,
> but I believe that if word splitting occurs, the empty string (or "$e",
> anything that expands to an empty string) should result in a null word.

Gotcha.  Thanks!

And further testing confirms the inconsistent shells.  bash and ksh
both seem to be the outliers in different ways in terms of behavior.
dash and zsh seem to be consistent and correct in this.

Bob

[toc] | [standalone]


Back to top | Article view | gnu.bash.bug


csiph-web