Im GNU Bash-Handbuch wird eine Liste wie folgt definiert:
Eine Liste1ist eine Folge von einer oder mehreren Pipelines, die durch einen der Operatoren „;“, „&“, „&&“ oder „||“ getrennt und optional durch eines der Operatoren „;“, „&“ oder eine neue Zeile beendet werden.
Diese Definition von Liste verwirrt mich. Wenn ich das Wort Pipelines in der Definition ersetze, ergibt es für mich mehr Sinn. Ich kann nicht verstehen, wie eine Folge von Pipelines2können durch die Operatoren ';', '&', '&&' oder '||' getrennt werden.
Antwort1
Die Bash-Manpage kann hinsichtlich der dort verwendeten Begriffe oft verwirrend sein. Ihre Frage wird jedoch klarer, wenn Sie die Definition vonPipeline:
Eine Pipeline ist eine Folge von einem oder mehreren Befehlen, die durch einen der Steueroperatoren
|
oder getrennt sind|&
. Das Format für eine Pipeline ist:[time [-p]] [ ! ] command [ [|⎪|&] command2 ... ]
http://man7.org/linux/man-pages/man1/bash.1.html#SHELL_GRAMMAR
Kurz gesagt, einPipelineist entweder ein Befehl mit allen Parametern oder mehrere davonverrohrtineinander. Sie können mehrere dieserRohrleitungendurch die genannten Operatoren zur anschließenden (bedingten) Ausführung.