Как передать ввод в цикл Bash while и сохранить переменные после окончания цикла
Bash позволяет использовать:cat <(echo "$FILECONTENT")
Bash также позволяет использовать:while read i; do echo $i; done </etc/passwd
чтобы объединить два предыдущих, это можно использовать:echo $FILECONTENT | while read i; do echo $i; done
Проблема с последним состоит в том, что он создает вложенную оболочку и после цикла while завершается переменнаяi
больше не может быть доступен
Мой вопрос:
Как добиться чего-то вроде этого:while read i; do echo $i; done <(echo "$FILECONTENT")
или другими словами: как я могу быть уверен, чтоi
выживет пока петля?
Обратите внимание, что мне известно о включении в то время как заявление в{}
но это не решает проблему (представьте, что вы хотите использовать цикл while в функции и вернутьi
переменная)