Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: why not promote the plague ? (brace|rc|alternative|modern) syntax
> On 16/12/2024 16:03 GMT Marc Chantreux <mc@xxxxxxxxxx> wrote:
>
>
> hello,
>
> On Mon, Dec 16, 2024 at 05:15:33AM -0500, Lawrence Velázquez wrote:
> > > To me this is weird because it means punctuations are not treated
> > > the same way: \n ; | && || should be treated equally
>
> > I don't know what you mean by this.
>
> Maybe because I'm not clear for myself.
They are hierarchical. The shell command language specification
says the following, see e.g.
https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/V3_chap02.html
This along the lines of how the zsh manual is written.
2.9.3 Lists
An AND-OR list is a sequence of one or more pipelines separated by the operators "&&" and "||" .
A list is a sequence of one or more AND-OR lists separated by the operators ';' and '&'.
The operators "&&" and "||" shall have equal precedence and shall be evaluated with left associativity. For example, both of the following commands write solely bar to standard output:
false && echo foo || echo bar
true || echo foo && echo bar
A ';' separator or a ';' or <newline> terminator shall cause the preceding AND-OR list to be executed sequentially; an '&' separator or terminator shall cause asynchronous execution of the preceding AND-OR list.
The term "compound-list" is derived from the grammar in Shell Grammar; it is equivalent to a sequence of lists, separated by <newline> characters, that can be preceded or followed by an arbitrary number of <newline> characters.
pws
Messages sorted by:
Reverse Date,
Date,
Thread,
Author