В моем скрипте bash я использую цикл while read
и вспомогательную функцию fv()
:
fv() {
case "$1" in
out) echo $VAR
;;
* ) VAR="$VAR $1"
;;
esac
}
cat "$1" | while read line
do
...some processings...
fv some-str-value
done
echo "`fv out`"
в надежде, что смогу извлечь значение из цикла while read
в переменную, доступную в остальной частисценарий.Но приведенный выше фрагмент не годится, так как я не получаю вывод.
Есть ли простой способ решить эту проблему - вывести строку из этого цикла в переменную, которая будет доступна в остальной части сценария - без переформатирования моего сценария?