Как выполнить команду в то время как вывод входа в файл?

Проблема происходит, вероятно, из-за пропавших без вести postgresql пакет разработки. Можно или установить его вручную или использовать диспетчер пакетов от распределения. Вероятно, пропавшие без вести пакетов (устанавливают их с Кв. - получают установку):

  1. libpq-dev
  2. postgresql-server-dev-all

Можно также попытаться установить рубин pg расширение из репозитория через apt-get install libpgsql-ruby

7
24.09.2013, 23:57
3 ответа

Можно использовать tee. Например:

ls -l / | tee tmp.txt

Распечатает к stdout, и tmp.txt будет содержать копию вывода. Если Вы хотите включать stderr в tmp.txt:

ls -l / 2>&1 | tee tmp.txt
7
27.01.2020, 20:14
  • 1
    Большое спасибо, просто попробовал его, но похоже, что это регистрируется только stdout, действительно ли возможно зарегистрировать stderr также? –  Benjamin 24.09.2013, 12:37
  • 2
    @Benjamin, Который должен быть cmd 2>&1 | tee .... Я отредактировал это в. –  goldilocks 24.09.2013, 14:58
  • 3
    Спасибо, 2>&1 хорошо работает! –  Benjamin 24.09.2013, 18:36

Существует несколько способов сделать это.

  1. nohup 2>&1 application &. Это отправит весь вывод в файл, названный nohup.out. Это также получит SIGHUPs. Таким образом, можно закрыть оболочку, и она будет продолжать бежать. При необходимости чтобы tyo видели то, что происходит затем, можно следовать за выводом с tail -f nohop.out.
  2. tee команда сделает то же, не предотвращая SIGHUP. C2h и goldilock уже упоминают это.
  3. Если Вам только нужен ограниченный scrollback, попробовать screen -L. Это объяснено более подробно в этом сообщении.

Я понимаю, что экран является обходным решением путь, но его другие функции очень хороши для deployements.

3
27.01.2020, 20:14

Можно использовать tee http://en.wikipedia.org/wiki/Tee_ (команда)

Передавать по каналу только stdout

cmd | tee log.txt | less

Передавать по каналу и stdout и stderr:

cmd >>(tee stdout.log) 2>>(tee stderr.log >&2)
10
27.01.2020, 20:14
  • 1
    Если > > быть >>? –  Supr 24.09.2013, 16:55
  • 2
    Спасибо. Предпочтет ответ @goldilocks хотя, потому что я хочу и stdout и stderr в том же файле, точно так же, как я видел бы их на консоли! –  Benjamin 24.09.2013, 18:37

Теги

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