Если мы остановимся на отображении stdout
сразу, то вывод grep
в Process Substitution должен быть перенаправлен в файл, чтобы вы не получили дублированные строки в выводе, поэтому вам нужно сделать, например, это:command | tee >(grep rerun >/tmp/my.log)
.
После создания файла все, что вам нужно сделать, это использовать [[ -s /tmp/my.log ]]
в качестве условия повторного запуска.