1. 程式人生 > >通道符的理解

通道符的理解

獲取 產生 文件 創建 多行 mkdir dir ash 如果

通道符將前面的標準輸出作為標準輸入傳遞給後面的命令。如果標準輸出是多行,那麽通道符是如何傳遞的呢?

根據我的理解:標準輸出後面跟上通道符後,以換行符為分隔符,輸出到流中,然後,同樣以換行符為界限,依次

作為標準輸入傳遞到後面的命令裏面。

舉個例子:

1、先創建一個aa的文件,裏面包含2行命令。

mkdir a1

mkdir a2

2、然後執行命令: cat aa | bash

3、該命令會依創建2個目錄a1,a2

以上例子說明,cat aa後產生的標準輸出並不是一股腦的通過通道傳遞過去,而是首先暫存到標準流內,以換行符

為分割點,然後通道符會依次從標準流內獲取(每次一行)。

通道符的理解