On 08/06/2023 10:19, Harald van Dijk wrote:
On 08/06/2023 10:06, Herbert Xu wrote:
наб <nabijaczleweli@xxxxxxxxxxxxxxxxxx> wrote:
POSIX Issue 7, XCU, 2. Shell Command Language says
2.7.4 Here-Document
The redirection operators "<<" and "<<-" both allow redirection of
subsequent lines read by the shell to the input of a command. The
redirected lines are known as a "here-document".
The here-document shall be treated as a single word that begins
after the next <newline> and continues until there is a line
containing only the delimiter and a <newline>, with no <blank>
characters in between. Then the next here-document starts, if there
is one. The format is as follows:
and its counterpart in Issue 8 Draft 3
80601 2.7.4 Here-Document
80602 The redirection operators "<<" and "<<-" both allow
redirection of subsequent lines read by
80603 the shell to the input of a command. The redirected lines
are known as a ``here-document’’.
80604 The here-document shall be treated as a single word that
begins after the next NEWLINE token
80605 and continues until there is a line containing only the
delimiter and a <newline>, with no
80606 <blank> characters in between. Then the next here-document
starts, if there is one. For the
80607 purposes of locating this terminating line, the end of a
command_string operand (see sh) shall be
80608 treated as a <newline> character, and the end of the
commands string in $(commands) and
80609 `commands` may be treated as a <newline>. If the end of
input is reached without finding the
80610 terminating line, the shell should, but need not, treat this
as a redirection error. The format is as
80611 follows:
I don't know. It sounds like someone has changed the standard
to support what you want it to do, but at the same time the old
behaviour is still allowed. This is because the text uses the
word may instead of must.
"what you want it to do"? What dash is doing is not what I want from a
shell. I did say I did differently in my own. I am only saying dash's
behaviour is permitted by POSIX.
This particular bit of the change to POSIX is to say something about
things like
Apologies, you were clearly referring to the part just above that.
That part is relevant to the examples you put at the end of your
original message, but not your main example.
Does anyone have a link to the discussion around this change so
we can infer the intention?
https://austingroupbugs.net/view.php?id=1036
https://austingroupbugs.net/view.php?id=1521
Cheers,
Harald van Dijk