Re: POSIX shell specification insight requested
On Tue, 2 Mar 2004 13:04:43 -0500, Branden Robinson <branden@debian.org> said:
> Is the following construction POSIXly correct? foo=$(cat <<EOF Foo
> bar baz quux. EOF)
> ash (and dash, which is derived from ash) choke on this, and seem to
> ignore everything on the same line as, but after, the here-document
> terminator word.
> bash (--posix) and (pd)ksh have no problem with it.
> I would be most grateful if someone access to the POSIX spec could
> provide some insight into this.
======================================================================
ISO/IEC 9945-2:1993(E) Information Technology -- POSIX
IEEE Std 1003.2-1993 Part 2: Sheel and utilities
§ 3.6.3 Command substitution
...
lines 474-477
Within the $(command) form, all characters following the open
parenthesis to the matching closing parenthesis constitute the
/command/. Any valid shell script can be used for /command/, except
-- A script consisting solely of redirections produces unspecified
results
======================================================================
The here document is a redirection, hence the reults of that
command substitution are unspecified.
manoj
--
If you would understand your own age, read the works of fiction
produced in it. People in disguise speak freely.
Manoj Srivastava <srivasta@debian.org> <http://www.debian.org/%7Esrivasta/>
1024R/C7261095 print CB D9 F4 12 68 07 E4 05 CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C
Reply to: