Контакт с командами оболочки, которые выбрасывают старый вывод

Довольно хороший совет здесь (если Вы позволяете расширенные хранимые процедуры),

Определите свободное пространство на диске в SQL Server 2000/2005

2
задан 21 January 2011 в 10:23
2 ответа

Метод, который работал на меня, делает это:

my_command my_args >log 2>&1

Который хранит весь вывод в названном файле log.

Затем в отдельном окне оболочки я делаю это:

tail -f log

Который показывает файл журнала как my_command пишет в него.

0
ответ дан 3 December 2019 в 12:13

Такой вещью обычно является результат программы, которая управляет терминалом непосредственно и перемещает курсор на своем собственном. Например, это - то, что редакторы как vi делают - при попытке прокрутить оболочку назад после vi сессии, Вы только еще видите текст на последней странице вывода vi, ничто, что Вы пролистали.

Способы иметь дело с этим:

  • Используйте инструмент как экран (1) и позвольте регистрироваться (ctrl-A H). Затем можно рассмотреть журнал позже. Это могло бы показать более полезную информацию.
  • Попытайтесь использовать мишень (1) для получения вывода, поскольку это проходит с command | tee output.txt
  • Определите, как отключить любой необычный режим вывода в программе, Вы выполняете и вынуждаете это выложить простой текст.

Для того последнего существует несколько вещей, которые можно попробовать. Во-первых, посмотрите на аргументы команде и посмотрите, существует ли что-нибудь как -nostty или что-либо говорящее о dumb terminals.

Можно также попытаться вынудить программу думать, что это находится на простом терминале как это:

TERM=dumb command

(принимающий оболочку удара) и это могло бы заставить программу думать, что она работает на простом терминале, и заставьте ее переключаться назад на прямой текстовый вывод.

Можно также попытаться подать программу некоторый вход, и это могло бы инициировать, это - простой текстовый режим вывода:

echo blarg | command

или возможно

echo blargh | command -

если программа берет - как признак читать из stdin.

Так или иначе эксперимент с теми идеями и необходимо найти некоторый способ получить прямой текстовый вывод от инструментов, которые Вы используете.

2
ответ дан 3 December 2019 в 12:13

Теги

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