Unix管道编程

根据Unix原理,Unix命令行实用程序应该仅且仅执行一个任务!在实践中,这意味着,与其开发执行大量任务的大型实用程序,不如开发多个较小的程序,这些程序组合在一起执行所需的工作。两个或多个Unix命令行实用程序通信的最常见方式是使用管道。在Unix管道中,一个命令行实用程序的输出是另一个命令行实用程序的输入。此过程可能涉及两个以上的程序!Unix管道的标识是字符|

管道有两个严重的限制:第一,它们通常是单向通信;第二,它们只能在具有相同祖先的进程之间使用。Unix管道实现背后的理念是,如果没有要处理的文件,那么应该等待从标准输入中获取输入。同样,如果不要求将输出保存到文件中,则应将输出写入标准输出,以便用户查看或由其他程序处理。

在第一节Go与操作系统中,你学习了如何从标准输入中读取,以及如何写入到标准输出。如果你对这两个操作仍有疑问,最好花点时间复习下代码stdOUT.gostdIN.go