Я столкнулся с подобной проблемой, и это привело меня сюда, поэтому я просто хотел оставить свое решение для тех, кто испытывает то же самое.
Я обнаружил, что если бы я запустил 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;
Надеюсь, это поможет кому-то сэкономить полчаса разочарования!