Какая разница в перенаправлении вывода с помощью >
, &>
, >&
и 2&>
?
Какая разница в перенаправлении вывода с помощью ">", "&>", "> &" и "2 &>"?
Ответ 1
-
>
перенаправляет стандартный вывод в файл -
2>&
перенаправляет дескриптор файла "2" (почти всегда stderr) на какой-то другой дескриптор файла (обычно он записывается как2>&1
, который перенаправляет stderr в то же место, что и stdout). -
&>
и>&
перенаправляют как stdout, так и stderr в файл. Обычно это записывается как&>file
(или>&file
). Функционально так же, как>file 2>&1
. -
2>
перенаправляет вывод в дескриптор файла 2 (обычно stderr) в файл.
Ответ 2
1 > (или > ) для вывода stdout, вывода команды. 2 > для stderr, выход ошибки команды.
Эта страница является немногословной, но имеет хорошие объяснения и примеры различных комбинаций команд.