2013-02-22 1 views
0

У меня есть код в моей Баш скриптКак постоянно показывать вывод команды в bash?

OUTPUT=""yum update

echo $OUTPUT

echo $OUTPUT >> mylogfile

yum update это команда очень длинная, и без моего сценария всегда вывести что-то утешить, но в моем сценарии он запускается, в течение долгого времени ничего не выводится и через некоторое время выводит несколько данных. Является ли какой-либо способ в моем сценарии выводить данные, как только он доступен, но не все данные в одно и то же время после долгого ожидания?

+0

Вы страдаете от буферизации. Я не могу проверить это, но попробуйте перенаправить stdout на stderr, который должен быть небуферизованным. 'yum update> & 2' – cdarke

ответ

3

Попробуйте использовать tee:

$ yum update | tee mylogfile 

пошлет стандартный вывод из конфетки в как стандартный вывод оболочки (экрана) и mylogfile. При необходимости добавьте перенаправления для стандартной ошибки.

 Смежные вопросы

  • Нет связанных вопросов^_^