Comportamento diferente e documentado em zshmisc
A list is a sequence of zero or more sublists, in which each sublist is terminated by
;
,&
,&|
,&!
, or a newline. This terminator may optionally be omitted from the last sublist in the list when the list appears as a complex command inside(...)
or{...}
. When a sublist is terminated by;
or newline, the shell waits for it to finish before executing the next sublist. If a sub‐list is terminated by a&
,&|
, or&!
, the shell executes the last pipeline in it in the background, and does not wait for it to finish (note the difference from other shells which execute the whole sublist in the background). A backgrounded pipeline returns a status of zero.