列表的定义令人困惑

列表的定义令人困惑

在 GNU bash 手册中,列表定义为

一个列表1是由运算符 ';'、'&'、'&&' 或 '||' 之一分隔的一个或多个管道的序列,并且可以选择以 ';'、'&' 或换行符之一终止。

列表的这个定义让我感到困惑,当我替换定义中的“管道”一词时,它对我来说更有意义。我无法理解一系列管道如何2可以用运算符“;”、“&”、“&&”或“||”分隔。

答案1

Bash 手册页中使用的术语常常令人困惑。但是如果您阅读了定义,您的问题就会变得清晰(呃)管道

管道是由一个控制运算符|或分隔的一个或多个命令的序列|&。管道的格式为:

[time [-p]] [ ! ] command [ [|⎪|&] command2 ... ]

http://man7.org/linux/man-pages/man1/bash.1.html#SHELL_GRAMMAR

简而言之,一个管道要么是一个命令及其所有参数,要么是多个参数管道式的进入彼此。您可以组合其中多个管道由提到的运算符进行后续(条件)执行。

相关内容