shell从标准输入或脚本中读取的每一行代码都被称为管道;它包含一个或多个命令,由零个或多个管道字符(X)分隔。对于它读取的每个管道,shell将其分解为命令,为管道设置I/O,然后对每个命令执行以下操作(图7-1):
|分隔的命令之后,为什么|仍然被列为元字符,在每个命令中分离标记?|可以出现在每个命令中吗?发布于 2016-04-28 10:18:42
|是一个元字符,因为它结束了一个没有引用的单词。这是使shell语言易于理解所必需的。Bourne最初确实创建了一个sub-shell,然后成为管道所有进程的父进程,并最终启动管道中最右边的程序。这个方法比其他方法需要更少的代码,并且允许实现简单的作业控制。
巴什以类似的方式工作。
Ksh93使管道中的每个进程都成为原始shell的直接子进程。
https://unix.stackexchange.com/questions/279644
复制相似问题