猛砸允許使用:cat <(echo "$FILECONTENT")
如何管道輸入到猛砸while循環後循環和保持變量結束
擊還允許使用:while read i; do echo $i; done </etc/passwd
結合前兩本可用於:echo $FILECONTENT | while read i; do echo $i; done
最後一個問題是它創建了子shell,並且在while循環結束變量i
之後無法再訪問。
我的問題是:
如何實現這樣的事情:while read i; do echo $i; done <(echo "$FILECONTENT")
或者換句話說:我怎樣才能確保i
倖存while循環?
請注意,我知道封閉while語句爲{}
,但這並不解決問題(假設你想使用while循環的功能和返回i
變量)
http://mywiki.wooledge.org/BashFAQ/024 – tripleee
相關:https://stackoverflow.com/questions/37229058/append-to-an-array-variable-from-a-pipeline-command。解釋所有選項,包括下面提到的過程替換和'lastpipe'及其優缺點。 –
相關:[一個在while循環中修改的變量不會被記住](https://stackoverflow.com/questions/16854280/a-variable-modified-inside-a-while-loop-is-not-remembered)。 – codeforester