什么是 Bash 中的'control function'?


control operator
A token that performs a control function.  It is one of the following symbols:
|| & && ; ;; ( ) | |& <newline>

这个流控制——每个令牌都会影响程序的流——但却是换行符吗?并且|&并且|不会真正影响流量。。有人能向我解释一下吗?

令牌定义:

  • ||("或")和&&("one_answers">
  • ;、换行符和&("background")将两个命令分开。如果您想将"不相关"的命令放在同一行上,第一个非常有用。最后一个还向后台发送一个命令,在不等待命令完成的情况下继续执行
  • ;;分离两个case语句
  • CCD_ 7和CCD_
  • |("管道")分隔两个命令,将第一个命令的标准输出指向第二个命令的规范输入
  • |&("错误管道")将两个命令分开,将第一个命令的标准输出标准错误指向第二个命令的标准输入。尝试(echo out; echo err >&2) 2>/dev/null |& cat

正如我们所看到的,换行符通过对命令进行定界来影响代码的"流">流量控制定义如下:

在数据通信中,流控制是管理两个节点之间数据传输速率的过程,以防止快速发送方压倒慢速接收方。

管道可以被视为流量控制,因为发送方的标准输出(以及其他文件描述符,如果重定向的话)将被阻止,直到接收方消耗掉标准输入。

相关内容

  • 没有找到相关文章

最新更新