Господа, пишу простой контроллер потоков и попал в просак, чувствую что какая-то мелочь, но найти не мог :(
Проблема заключается в том что я обрабатываю цикл и при удачном условии меняю переменную $freePipe чтобы закончить главный цикл, но я меняю ее внутри цикла второго уровня и когда проверяю ее в главном цикле чтобы продолжить его или остановиться, то у нее сбрасывается значение. Ниже упрощенный код
freePipe="0"
while [ "$freePipe" == 0 ]
echo $freePipe
do
echo "Начинаем подбор"
echo $freePipe
cat $ipListFile | while read line
do
freePipe=$line
echo "1 - $freePipe"
done
echo "2 - $freePipe"
sleep 1
echo "3 - $freePipe"
done
Нужно вывести $freePipe а получаю freePipe=0 всегда :(
Причем echo 1 показывает заданное значение, а 2 и 3 показывают "0"