Skip to content

Latest commit

 

History

History
63 lines (39 loc) · 4.81 KB

Перенаправления.md

File metadata and controls

63 lines (39 loc) · 4.81 KB
Syntax visible in terminal StdOut visible in terminal StdErr visible in file StdOut visible in file StdErr existing file
> no yes yes no overwrite
>> no yes yes no append
2> yes no no yes overwrite
2>> yes no no yes append
&> no no yes yes overwrite
&>> no no yes yes append
tee yes yes yes no overwrite
tee -a yes yes yes no append
n.e. (*) yes yes no yes overwrite
n.e. (*) yes yes no yes append
& tee yes yes yes yes overwrite
& tee -a yes yes yes yes append

command > output.txt

Стандартный поток вывода будет перенаправлен только в файл, он не будет виден в терминале. Если файл уже существует, он перезаписывается.

command >> output.txt

Стандартный поток вывода будет перенаправлен только в файл, он не будет виден в терминале. Если файл уже существует, новые данные будут добавлены в конец файла.

command 2> output.txt

Стандартный поток ошибок будет перенаправлен только в файл, он не будет виден в терминале. Если файл уже существует, он перезаписывается.

command 2>> output.txt

Стандартный поток ошибок будет перенаправлен только в файл, он не будет виден в терминале. Если файл уже существует, новые данные будут добавлены в конец файла.

command &> output.txt

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

command &>> output.txt

Both the standard output and standard error stream will be redirected to the file only, nothing will be visible in the terminal. If the file already exists, the new data will get appended to the end of the file..

command | tee output.txt

Стандартный поток вывода будет скопирован в файл, он все равно будет виден в терминале. Если файл уже существует, он перезаписывается.

command | tee -a output.txt

Стандартный поток вывода будет скопирован в файл, он все равно будет виден в терминале. Если файл уже существует, новые данные будут добавлены в конец файла.

(*)

Bash не имеет сокращенного синтаксиса, который позволяет передавать только StdErr для второй команды, которая понадобится здесь в сочетании с tee еще раз для завершения таблицы. Если вам действительно нужно что-то подобное, пожалуйста, посмотрите на "Как транслировать stderr, а не stdout?" Переполнение стека для некоторых способов, как это можно сделать, например, путем обмена потоками или использования процесса замены.

command |& tee output.txt

Как стандартный вывод, так и стандартные потоки ошибок будут скопированы в файл, пока они будут видны в терминале. Если файл уже существует, он перезаписывается.

command |& tee -a output.txt

Как стандартный вывод, так и стандартные потоки ошибок будут скопированы в файл, пока они будут видны в терминале. Если файл уже существует, новые данные будут добавлены в конец файла.


bash