Я предполагаю, что условие «если-то» в целом оценивается как истинное.
Я попробовал
set -e
if cd not_existing_dir
then echo 123
fi
echo "I'm running! =P"
, кто дает
-bash: cd: not_existing_dir: No such file or directory
I'm running! =P
код ошибки, перехватываемый условием if, таким образом bash не вызовет окончание выполнения.
Благодаря комментарию @choroba я был направлен на то, чтобы вывод буферизовался.
поискав дальше, я нашел этот пост , в котором говорится, что стандартный вывод по умолчанию буферизуется.
также, просмотр страниц руководства для wminput не дал быстрого решения,
поэтому я пошел искать способ заставить сброс из буфера стандартного вывода заданий в файл - и обнаружил команду stdbuf. stdbuf docs
Что я использую как-
sudo stdbuf -oL wminput -r -w -c "$ controls_config"> "$ temp_output" &
где -o означает стандартный вывод {{1} }
и -L для очистки буфера при каждой новой строке
Спасибо за совет!