Я столкнулся с подобной проблемой, и это привело меня сюда, поэтому я просто хотел оставить свое решение для тех, кто испытывает то же самое.
Я обнаружил, что если бы я запустил cat /tmp/list.txt
, файл был бы пуст, хотя я был уверен, что в файл сразу же помещается содержимое. Оказывается, если я положил sleep 1;
непосредственно перед cat /tmp/list.txt
, он работал, как ожидалось. Должна была быть задержка между временем создания файла и временем его написания или что-то в этом направлении.
Моего окончательный код:
while [ ! -f /tmp/list.txt ];
do
sleep 1;
done;
sleep 1;
cat /tmp/list.txt;
Надеется, что это помогает сохранить кому-то расстраивает полчаса!
Я не могу сказать, что я удивлен; этот цикл не пытается ничего изменить. –
Полу-двоеточие избыточно.Каким образом этот тестовый цикл не работает? Он будет итеративно спать в течение 2 секунд, пока файл /tmp/list.txt не будет существовать. –
Работает для меня - цикл завершается, когда файл создается вне сценария. – 2010-03-04 14:14:15