>Не совсем понятна, точнее совсем непонятна Ваша проблема. Судя по Вашему скрипту,
>если ДЕЙСТВИТЕЛЬНО происходит обработка cat ... | while, то значение var
>на выходе должно содержать volue2, если же нет, то вполне очевидно,
>что volue1.
Значение volue2 "теряется", если определить другую переменную, напр var2 и писвоить ей значение в обработке cat .. | while, то по завершении cat её значение будет пустым.
cat ... | while read ...
do
...
var2=volume21
echo ' var2 is : '$var2
...
done
echo 'var2 after cat is : '$var2
Первый вывод выведет значение
var2 is : volume21
Второй вывод введет пустое
var2 is :
Переменная удалена после завершения cat ... | while ...
т. е. для выполнения cat sh выделила "отдельный" набор переменных, который затем был
удален.
Как "передать" значения из отдельной сессии sh или "назначить" имеющиеся переменные к использованию в отдельной сессии sh?