Распечатать STDOUT / STDERR и записать их в файл в Bash? - PullRequest
7 голосов
/ 19 января 2011

Есть ли способ сделать так, чтобы Bash перенаправлял STDOUT / STDERR в файл, но все же распечатывал их также на терминал?

Ответы [ 2 ]

16 голосов
/ 19 января 2011

Это перенаправит STDOUT и STDERR в один и тот же файл:

some_command 2>&1 | tee file.log

Пример

$ touch foo; ls foo asfdsafsadf 2>&1 | tee file.log
ls: asfdsafsadf: No such file or directory
foo
$ cat file.log
ls: asfdsafsadf: No such file or directory
foo
3 голосов
/ 19 января 2011

Используйте команду tee .

$ echo "hi" | tee output.txt
hi
[unix]$ ls
output.txt
[unix]$ cat output.txt 
hi
...