У вас есть несколько ошибок sytax, как уже указывалось. Вы также, кажется, используете ошибочную логику. Статус выхода 0 означает, что команда выполнена успешно, а не сбой. Если вы хотите напечатать failed, если ваш файл не соответствует строке запроса, все, что вам нужно, это:
grep -q "::=BEGIN" /home/erawson/bin/HP/adaptec.mib || echo "failed"
Если вы хотите напечатать failed, если файл не строка, используйте это:
grep -q "::=BEGIN" /home/erawson/bin/HP/adaptec.mib && echo "failed"
Нет необходимости сохранять статус выхода и не нужно проверять if / else.