control operator
A token that performs a control function. It is one of the following symbols:
|| & && ; ;; ( ) | |& <newline>
这个流量控制 - 这些令牌中的每一个都会影响程序的流程 - 但新行?并且|和;和|不要真正影响流量..有人可以向我解释一下。
答案 0 :(得分:2)
令牌定义:
||
(“or”)和&&
(“and”)将两个命令分开,导致第二个命令在第一个命令失败时执行(即,返回时返回非零退出代码)或成功(返回零退出代码)。;
,换行符和&
(“background”)将两个命令分开。如果要将“不相关”命令放在同一行上,第一个是有用的。最后一个命令还向后台发送命令,继续执行而不等待命令完成。;;
分隔两个case
语句。(
和)
包含一组在subshell中运行的命令。|
(“pipe”)分隔两个命令,将第一个命令的标准输出指向第二个命令的标准输入。|&
(“error pipe”)分隔两个命令,将第一个命令的标准输出和标准错误指向第二个命令的标准输入。试试(echo out; echo err >&2) 2>/dev/null |& cat
正如我们所看到的,换行符通过分隔命令来影响代码的“流程”。 Flow control定义如下:
在数据通信中,流量控制是管理两个节点之间数据传输速率的过程,以防止快速发送器压倒慢速接收器。
管道可以被视为流量控制,因为发送方的标准输出(以及其他文件描述符,如果重定向)将被阻塞,直到接收方从标准输入消耗为止。