Bash 允许使用:cat <(echo \'$FILECONTENT\')Bash 还允许使用:while read i; do echo $i; done
Bash 允许使用: cat <(echo "$FILECONTENT")
Bash 还允许使用: 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
变量)