У меня проблема, которая очень странная для меня.
У меня есть цикл, который читает файл строка за строкой, которая выглядит примерно так:
while read line; do
echo "Beginning of loop"
## Call to function that executes .bat file
echo "End of loop"
done < $MANIFEST
echo Outside of Loop
Я вызываю файл .bat в вложенной оболочке, поэтому он не должен влиять ни на одну из моих переменных. Это выглядит примерно так:
$(CMD /c c.bat -c "$SCR_DIR/prepsdk.sh Build $apppath")
Странно то, что bat-файл как-то прерывает мои циклы. То есть я увижу следующий вывод:
Начало вывода цикла из .bat Конец цикла вне цикла
Если закомментирован вызов .bat, я вижу
Начало цикла Конец цикла Начало цикла Конец цикла ..... Начало петли Конец петли снаружи петли
Таким образом, поведение соответствует ожидаемому, поскольку файл .bat не вызывается. Что может делать файл .bat, что приводит к такому завершению цикла? Он не изменяет файл $ MANIFEST, я в этом убедился.