Запуск цикла – но подождите, пока строка слов в файле журнала продолжит

Пока у меня это:

for each in {01..10} ; do ./sb0$each/tomcat_sb0$each start;done 

Который начнет мои приложения сразу, но я хочу, чтобы он подождал, пока он прочитает одну строку в файле, что это самый простой способ сделать это?

  • Переместить некоторые элементы библиотеки iTunes на другой диск?
  • Какой инструмент может генерировать MD5 из командной строки?
  • Некоторые проблемы с ответами с использованием двух сценариев «последовательности клавиш» в Autohotkey
  • Запуск скрипта при входе и выходе из системы xfce?
  • Как выполнить команду на экране и отсоединить?
  • Баш Шебанг для чайников?
  • Что такое / usr / bin / [и как его использовать?
  • Как я могу получить автозаполнение zsh для заполнения подстановочных знаков, таких как bash?
  • Access Finder «Открыть с» меню из командной строки (для завершения вкладки)
  • Вернитесь к предыдущей директории в оболочке
  • Где хранить скрипты bash, которые все пользователи могут выполнять на Debian?
  • Загрузка полных веб-страниц (не сайтов)
  • One Solution collect form web for “Запуск цикла – но подождите, пока строка слов в файле журнала продолжит”

     while ! grep "the line you're searching for" /path/to/the.file do sleep 10; done for each in {01..10} ; do ./sb0$each/tomcat_sb0$each start;done 

    Это решение имеет цикл while, который будет продолжаться до тех пор, пока строка, которую вы ищете, не найдена в файле. Цикл содержит только sleep 10 секунд, так что он проверяет каждые десять секунд нужную строку. Очевидно, вы могли бы установить это так, как хотите.

    grep ищет шаблон в заданном файле и возвращает false, если ничего не соответствует шаблону. ! Означает нет, и как не false = true, цикл продолжается до тех пор, пока команда grep возвращает false.

    Например, если вы ищете начало строки, теперь приложения теперь застревают в файле /var/tmp/foo.txt, это будет выглядеть так:

      while ! grep "start the apps now chuck" /var/tmp/foo.txt; 

    Если строка существует, ответ не будет иметь нулевую длину, поэтому условное выражение вернет false и цикл завершится.

    Давайте будем гением компьютера.