title: Shell編程之輸入重定向
tags: shell編程,重定向
前提
剛剛看到一段代碼故爵,類似于下面的這種形式:
while read line
do
echo $line
done < <(echo "hello world")
上面的代碼可以完美的運行蚪腐,這個是什么原因呢陵珍?
解惑
我們知道一般while read 這種用法是讀取的文件信息粹污,而這里直接讀取的是從echo中重定向的一個輸出逗宜,并且重定向的方式是 < <(注意中間有空格)庆尘,我們知道輸出重定向有兩種方式剃诅,一個是 <,這種會覆蓋文件驶忌,一個是 **<< **矛辕,這種是以追加的方式寫入到指定的文件,而上面的這種形式還是沒有搞得太清楚付魔,我認為上麥呢的這種形式是先將 echo "hello world"的結(jié)果重定向到一個空的文件描述符聊品,然后代碼就從這個文件中讀取信息。
后記
上面的只是我現(xiàn)在的一個猜測几苍,google了一下沒找到想要的結(jié)果翻屈,先mark一下,回來在看看妻坝,先去上班了伸眶。