Справка Bash с до цикла

Надеясь можно указать на меня в правильном направлении. У меня есть сценарий, который выполняет openvas через CLI.

Теперь необходимо выполнить другую команду для наблюдения состояния заданий. Общее количество задания будет всегда отличаться. Например, однажды будет 7 сканирований следующее, там будет 13.

Мне нужен сценарий для приостановки, пока все выводы не говорят Сделанный.

Посмотрите ниже ouput от команды.

omp -u admin -w admin -h 127.0.01 -p 9390 -G
7ee0ef08-686e-4ad6-b826-08938fc8b694  Running 28%  192.168.0.10
fa7230f9-6367-4db6-8eb5-f6368375d577  Running 94%  192.168.0.23
fbc4e409-e72d-4749-861d-db60ed55693b  Done         192.168.0.25
9e0f2e40-2da4-4ef6-af6f-9ab8cfbf9902  Running  1%  192.168.0.252
492c7462-a75e-4d44-b5dc-5c9af27c9e07  Running  1%  192.168.0.253

В моем сценарии удара я использую следующее

until omp -u admin -w admin -h 127.0.01 -p 9390 -G | grep "Done";
done

Теперь, когда сценарий добирается до "до" этапа. Я получаю следующую ошибку

./Pen-test-automation.sh: line 226: syntax error near unexpected token `Done'
./Pen-test-automation.sh: line 226: `Done'

Справка :)

4
задан 23 September 2016 в 10:09

1 ответ

Необходимо добавить do some_command:

until omp -u admin -w admin -h 127.0.01 -p 9390 -G | grep "Done"
do
    :
done

двоеточие, :, не является просто никакой-op командой.

Более простой пример

Замечает, что это дает ошибку, которую Вы видите:

$ until echo $RANDOM | grep 5; done
bash: syntax error near unexpected token `done'

, Если мы добавляем, do и команда заполнителя, как :, затем цикл работает правильно:

$ until echo $RANDOM | grep 5; do : ; done
15857
5
ответ дан 1 December 2019 в 09:32

Другие вопросы по тегам:

Похожие вопросы: