
No manual do GNU bash, uma lista é definida como
Uma lista1é uma sequência de um ou mais pipelines separados por um dos operadores ';', '&', '&&' ou '||' e opcionalmente terminado por um de ';', '&' ou uma nova linha.
Essa definição de lista está me confundindo, quando substituo a palavra pipelines na definição faz mais sentido para mim. Não consigo compreender como uma sequência de Pipelines2podem ser separados pelos operadores ';', '&', '&&' ou '||'.
Responder1
A página de manual do Bash muitas vezes pode ser confusa em relação aos termos usados lá. Mas sua pergunta fica clara se você ler a definição degasoduto:
Um pipeline é uma sequência de um ou mais comandos separados por um dos operadores de controle
|
ou|&
. O formato de um pipeline é:[time [-p]] [ ! ] command [ [|⎪|&] command2 ... ]
http://man7.org/linux/man-pages/man1/bash.1.html#SHELL_GRAMMAR
Em suma, umgasodutoé um comando com todos os seus parâmetros ou vários delescanalizadoum no outro. Você pode combinar vários dessesoleodutospelos operadores mencionados para execução posterior (condicional).