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
On 15-06-2012 09:35:38 -0400, Ian Stakenvicius wrote:
> On 15/06/12 09:27 AM, Peter Stuge wrote:
> > Mike Frysinger wrote:
> >>> + # lets see if the username already exists + 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 (and
> this matters in the way that it's used). In the case of 'egetent
> passwd', afaict no as it doesn't return anything with whitespace in it.
>
> Examples -- this works:
>
> $ bubba="test thing" ; if [ -n "$(echo $bubba)" ]; then echo OK; fi
> OK
>
> Example -- this fails:
>
> $ bubba="test thing" ; if [ -n $(echo $bubba) ]; then echo OK; fi
> bash: [: test: binary operator expected
Yes, but this works:
$ bubba="test thing" ; if [[ -n $(echo $bubba) ]]; then echo OK; fi
OK
(and he's using [[, not [)
--
Fabian Groffen
Gentoo on a different level
|
|