Как зарегистрировать вывод в ударе и видеть его в терминале одновременно?

У меня есть некоторые сценарии, где я должен видеть вывод и зарегистрировать результат в файл с самым простым примером тем, чтобы быть:

$ update-client > my.log

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

22
задан P Shved 9 July 2010 в 19:30
поделиться

2 ответа

update-client 2>&1 | tee my.log

2> & 1 перенаправляет стандартную ошибку на стандартный вывод, а tee отправляет свой стандартный ввод на стандартный вывод и в файл.

41
ответ дан 29 November 2019 в 04:11
поделиться

Просто используйте tail, чтобы наблюдать за обновлением файла. Создайте фон своего исходного процесса, добавив & после указанной выше команды. После выполнения указанной выше команды просто используйте

$ tail -f my.log

. Он будет постоянно обновляться. (обратите внимание, что он не сообщит вам, когда файл завершил работу, поэтому вы можете вывести что-нибудь в журнал, чтобы сообщить вам, что он завершен. Ctrl-c для выхода из хвоста)

4
ответ дан 29 November 2019 в 04:11
поделиться
Другие вопросы по тегам:

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