Предположим, что у меня есть script: -
test.sh
#!/bin/bash
command1 #prints 5 lines
command2 #prints 3 lines
Я запустил script с помощью test.sh|head -n5
Что произойдет в этом случае? Будут ли выполняться обе команды? или он остановится после команды1? Что, если я назову его -n1?
Фон: Я могу задавать очень простой вопрос, но я действительно заметил что-то интересное. Мой script (другой) обрабатывал 7000 файлов, и каждый файл выдавал 1 строку вывода. Для полного выполнения script требуется 7 минут, но при выполнении head -n1 мне сразу же предложили сразу же, как script завершил обработку только первого файла
Edit: Ниже приведен мой script
for i in $(ls filepath);do
echo "$i" # issue here
python mySript "$i" > "/home/user/output/""$i"".out"
fi
done
Удаление echo выше позволяет script работать полными 7 минутами с помощью head -n1, но с эхом он просто печатает первую строку, а затем выходит.