Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-dev
Navigation:
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-dev@g.o
From: Peter Stuge <peter@...>
Subject: Re: RFC: esethome
Date: Fri, 15 Jun 2012 16:05:54 +0200
Fabian Groffen wrote:
> > > >>> +       if [[ ! -n $(egetent passwd "${euser}") ]] ; then
> > > >> 
> > > >> "! -n" -> "-z"
> > > > 
> > > > Does the $() argument ever need to be double quoted, or do all 
> > > > versions of bash actually have the string argument optional even 
> > > > though that's not what the man page reads?
> > > 
> > > Ever?  Yes, but only if what is being returned can contain spaces
> > 
> > Sorry, I should have mentioned that I had the case of the empty
> > string in mind.
> 
> Here for the same reason, the difference between [[ and [ is essential.

It's not clear to me why?

[] is shorthand for test. Both test and [[]] in my man bash read:

--8<--
Expressions are composed of the primaries described .. under
CONDITIONAL EXPRESSIONS.
-->8--

There it says:
--8<--
Conditional expressions are used by the [[ compound command and
the test and [ builtin commands
-->8--

and:
--8<--
       -z string
              True if the length of string is zero.
       string
       -n string
              True if the length of string is non-zero.
-->8--

..which does not at all make it clear that the string is actually
optional?

Under Command Substitution it says:
--8<--
Embedded newlines are not deleted, but they may be removed during
word splitting.
..
If the substitution appears within double quotes, word splitting
and pathname expansion are not performed on the results.
-->8--

..confirming that there is some processing of the substitution.


I also did the tests before asking the question. I'm not trying to
say that the code doesn't work on my system. I'm asking if it will
work the same on every version of bash, in spite of what seems to
be a conflict between real world and documentation.


//Peter
Attachment:
pgptr4QrCHCsw.pgp (PGP signature)
Replies:
Re: RFC: esethome
-- Mike Gilbert
References:
RFC: enewuser should force updates to shell and home
-- Ian Stakenvicius
Re: RFC: enewuser should force updates to shell and home
-- Mike Frysinger
Re: RFC: esethome
-- Ian Stakenvicius
Re: RFC: esethome
-- Mike Frysinger
Re: RFC: esethome
-- Peter Stuge
Re: RFC: esethome
-- Ian Stakenvicius
Re: RFC: esethome
-- Peter Stuge
Re: RFC: esethome
-- Fabian Groffen
Navigation:
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: RFC: esethome
Next by thread:
Re: RFC: esethome
Previous by date:
Re: RFC: esethome
Next by date:
Re: RFC: esethome


Updated Jun 24, 2012

Summary: Archive of the gentoo-dev mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.