Я пытаюсь написать Баш скрипт, который будет проверять, если Redis работает и запустить его, если это не так:Как остановить Bash скрипт от выхода на ошибки
ping=$(redis-cli ping)
if [ "$ping" = PONG ]
then
ECHO "redis response: $ping"
else
response = $(redis-server /usr/local/etc/redis.conf)
ECHO "$response"
fi
Если Redis работает я получаю ожидаемый redis response:PONG
Однако, если Redis не работает, я получаю Could not connect to Redis at 127.0.0.1:6379: Connection refused
, а Redis не запускается.
Я думаю, что происходит, что сообщение «не может подключиться» рассматривается как неперехваченное исключение и, следовательно, завершает работу сценария.
Есть ли способ поймать это и закончить запуск сценария? Это даже проблема?