From: | "Coleman, Michael" <MKC(at)Stowers-Institute(dot)org> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us> |
Cc: | <pgsql-bugs(at)postgresql(dot)org>, <mkc(at)mathdogs(dot)com> |
Subject: | Re: pg_ctl failure with older Bourne shells (use ${1:+"$@"}) |
Date: | 2002-07-19 15:02:07 |
Message-ID: | 94F8974916A79949ACBCCCF5D3711F73060986@exchkc03.stowers-institute.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Blah. Yeah, I muffed that--don't use a colon.
Regarding Bruce's comment, you wouldn't think they're still around, but this is what /bin/sh does on Tru64 5.1. (5.1 is almost the latest version; there's a 5.1a.)
Mike
> -----Original Message-----
> From: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
> Sent: Friday, July 19, 2002 9:38 AM
> To: Bruce Momjian
> Cc: Coleman, Michael; pgsql-bugs(at)postgresql(dot)org; mkc(at)mathdogs(dot)com
> Subject: Re: [BUGS] pg_ctl failure with older Bourne shells (use
> ${1:+"$@"})
>
>
> Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> > Yes, I have seen this fix before. Are people still using
> shells that
> > don't handle "$@" properly? I guess so or you wouldn't
> have reported
> > it.
>
> I remember having submitted just such a patch a few years ago (for a
> different one of our scripts of course) when I was still using HPUX 9.
> I'm not sure if later HPUXen have better shells. Plain
> /bin/sh on this
> platform is ancient.
>
> > We only use "$@" in a few places so I am applying this patch.
>
> Could you check for other scripts where the same thing may have snuck
> in?
>
> BTW, O'Reilly's "Unix Power Tools" recommends
> ${1+"$@"}
> as the most portable replacement for "$@". Mike's version has :+
> which is not the same. My man page for the Bourne shell says
>
> ${parameter:+word}
> If parameter is set and is non-null,
> substitute word;
> otherwise substitute nothing.
>
> ...
>
> If the colon (:) is omitted from the above expressions,
> the shell only
> checks whether parameter is set or not.
>
> It looks to me like the book's method is more correct --- it
> won't mess
> up in the case where $1 has been explicitly given as "".
>
> regards, tom lane
>
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2002-07-19 15:32:41 | Re: pg_ctl failure with older Bourne shells (use ${1:+"$@"}) |
Previous Message | Tom Lane | 2002-07-19 14:37:56 | Re: pg_ctl failure with older Bourne shells (use ${1:+"$@"}) |