On Tue, 2006-12-05 at 18:16 -0500, Bruce Momjian wrote:
> Tom Lane wrote:
> > Bruce Momjian <bruce@momjian.us> writes:
> > > I think the proper fix is:
> >
> > > <application>psql</application>, like this: <literal>echo -e
> > > "\\x\nSELECT * FROM foo;" | psql</literal>.
> >
> > > I think all modern operating systems understand echo -e at this point.
> >
> > No, they don't, and neither does the Single Unix Spec:
> > http://www.opengroup.org/onlinepubs/007908799/xcu/echo.html
> >
> > So your version of the example depends on non-standards-compliant
> > echo behavior, which is not better than before.
>
> Well, at least my example works on _some_ operating systems, while the
> previous worked on none of them, so it is _better_.
>
> I can't think of a good way to do this except converting the example to
> a <programlisting> block that will not change newlines:
>
> echo '\x
> SELECT * FROM foo;' | psql
>
> Is that what people want?
Well, it works, but IMHO its not as clear.
--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com