Назад | Перейти на главную страницу

Новое в bash - «Неожиданный конец файла»

Я пытаюсь настроить простой сценарий bash, чтобы проверить, появляется ли сообщение об ошибке в журнале, если это сообщение об ошибке «адаптер сброса» появляется в этом журнале, сервер должен отправить нам электронное письмо. Всякий раз, когда я запускаю приведенный ниже сценарий, я получаю сообщение «Bash Script.sh: строка 4: синтаксическая ошибка: неожиданный конец файла».

 if fgrep 'reset adapter' /var/log/messages.log then 
      mail -s 'Flapping ethernet' alerts@OurAlertBoard.com
 fi

Любые идеи?

ОБНОВИТЬ:

Добавлен предложенный; до "затем", по-прежнему возникает та же ошибка. Новый сценарий:

 if fgrep -q 'reset adapter' /var/log/messages; then 
      mail -s 'Flapping ethernet' alerts@OurAlertBoard.com
 fi
if fgrep -q 'reset adapter' /var/log/messages.log; then 
      mail -s 'Flapping ethernet' alerts@OurAlertBoard.com
 fi
  • Обратите внимание на добавленный ; перед then
  • Кроме того, вам нужно сохранять молчание grep и возвращать только код ошибки. Это делается с помощью -q
  • В большинстве систем файлы журнала называются /var/log/messages. Проверить, если messages.log правильно в вашей системе.