Почему перенаправление на цикл while не печатает сообщения?

Ну Ubuntu также разработал для вас последовательность. Его назвали «Отладка программной ошибки»: я только что слышал о программе, названной волатильностью, и ее доступной для Ubuntu, вы можете установить с помощью

sudo apt-get install ubuntu

ebugging Program Crash [!d2 ]

1
задан 25 August 2015 в 15:57

1 ответ

Обычный переносимый способ сделать это:

tail -f /var/log/messages | while read LINE
do
  echo $LINE
done

Ответ на хаос использует синтаксис подстановки процесса, который встречается только в расширенных оболочках, таких как zsh и bash.

Конечно, я предполагаю, что вы хотите поставить в цикл нечто более сложное, чем echo $LINE.

0
ответ дан 23 May 2018 в 17:58
  • 1
    С другой стороны, много портативных устройств ... это не работает на Ubuntu: /var/log/messages больше нет – kos 25 August 2015 в 16:55
  • 2
    @kos sir, как он более портативен? – edward torvalds 25 August 2015 в 17:10
  • 3
    Нет, это не портативно, я не жалуюсь на это. Проблема в том, что Ubuntu не работает, и это Ask Ubuntu. Вы должны изменить /var/log/messages на /var/log/syslog – kos 25 August 2015 в 17:13
  • 4
    Но зачем подключать вывод tail в цикле while, который просто печатает вывод? tail -f file без цикла достаточно. – chaos 25 August 2015 в 17:38
  • 5
    @chaos Вы прочитали последний абзац? – oals 25 August 2015 в 18:14

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

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