title: Shell編程之輸入重定向
tags: shell編程,重定向
前提
剛剛看到一段代碼,類(lèi)似于下面的這種形式:
while read line
do
echo $line
done < <(echo "hello world")
上面的代碼可以完美的運(yùn)行,這個(gè)是什么原因呢?
解惑
我們知道一般while read 這種用法是讀取的文件信息,而這里直接讀取的是從echo中重定向的一個(gè)輸出,并且重定向的方式是 < <(注意中間有空格),我們知道輸出重定向有兩種方式,一個(gè)是 <,這種會(huì)覆蓋文件,一個(gè)是 **<< **,這種是以追加的方式寫(xiě)入到指定的文件,而上面的這種形式還是沒(méi)有搞得太清楚,我認(rèn)為上麥呢的這種形式是先將 echo "hello world"的結(jié)果重定向到一個(gè)空的文件描述符,然后代碼就從這個(gè)文件中讀取信息。
后記
上面的只是我現(xiàn)在的一個(gè)猜測(cè),google了一下沒(méi)找到想要的結(jié)果,先mark一下,回來(lái)在看看,先去上班了。