У меня есть сценарий bash, который должен проверять исполняемый экземпляр программы, и если его выполнение не выполняется, выполните команду (эхо для целей тестирования). Проблема в том, что bash не выполняет команду, даже если она работает, когда я копирую/вставляю команду непосредственно в командную строку. Я предполагаю, что моя проблема проста и вызвана моей наивностью с языком сценария.Bash Script не выполняет команду
линия в вопросе:
ps -ef | grep -v grep | grep $SCRIPT > /dev/null || echo "`date` - $0 : $SCRIPT stopped. Restarting..."
Если я вставить его в командной строке она отлично работает, но когда я бегу мой сценарий ничего не происходит. Предложения?
EDIT: Я считаю, что я решил проблему. Сценарий, который выполняется для проверки queue_reader.sh
сценария, я сдуру по имени check_queue_reader.sh
«поэтому команда ps -ef
находила сам предотвращая ||
от исполнения.
Обеспечить больше кода в контексте пожалуйста. – Cfreak
вы уверены, '$ SCRIPT' устанавливается в одно и то же в сценарии bash и on командной строки? – jwodder
Там действительно не так много. У меня есть сценарий, который должен быть запущен, и собирался отбросить его в задание crontab, чтобы он проверял и перезапускал процесс, если это необходимо. Единственный оставшийся мой скрипт прямо сейчас - это переменные, которые не будут предоставлять какой-либо контекст ситуации. – Grambot