У меня есть ряд команд , а, Ь, с которой я Цепочка вместе с &&: a && b && c
.
Я хочу перехватить вывод всех команд на stdout и stderr.
a && b && c 2>&1 > capture_file
захватывает только выходные данные команды c.
shell
io-redirection
TLOlczyk
источник
источник
2>&1
означает дублирование места назначения stdout (1) в stderr (2), так что это будет бесполезно, если вы предварительно не настроили перенаправление stdout.2>capture_file >&2
(но не делайте, потому что это не идиоматично). Важно то, что вы перенаправляете один из них в файл, а затем дублируете этот поток на другой.Помимо использования группирования команд
{}
вы также можете запускать команды в подоболочке и фиксировать вывод (и / или ошибку) сразу:Пример :
источник