Мне нужно запустить 2 команды сборки. Один из них ниже. Условие заключается в том, что если он обнаруживает строку «Ошибка» при первой сборке, она должна выйти из цикла и больше не должна запускаться, но если ей нет, она должна запустить другую команду сборки, которая является ./v post- строить. У меня есть следующее, но я думаю, что чего-то не хватает.Выход из скрипта, если строка найдена
#!/bin/bash
cd /etc/logs
./v pre-build > test_file
File=test_file
value=$(grep -c Error $File)
if [ $value -eq 1 ]
then
echo "It's available"
else
./v post-build > test_file1
fi
Здесь нет петли. Вы можете использовать 'grep -q' и проверить статус выхода – anubhava
Когда я тестирую grep -q, я получаю сообщение об ошибке. – James
@james, имейте в виду, что условие 'if' на самом деле является * командой * -' ['является командой. От ветвей оболочки зависит от статуса выхода этой команды. Вы хотите: 'если grep -q Error" $ File "; затем ... ' –