Я хочу написать в bash script фрагмент кода, который проверяет, запущена ли программа. У меня есть следующее для поиска, работает ли бар
foo=`ps -ef | grep bar | grep -v grep`
grep -v grep
состоит в том, чтобы убедиться, что "grep bar" не учитывается в результатах ps
Когда бар не работает, foo правильно пуст. Но моя проблема заключается в том, что script имеет
set -e
который является флагом для завершения script, если какая-либо команда возвращает ошибку. Оказывается, когда бар не работает, "grep -v grep" не соответствует ни с чем, и grep возвращает ошибку. Я попытался использовать -q или -s, но безрезультатно.
Есть ли какое-либо решение? спасибо