
В Ksh для перенаправления ввода-вывода из команды в сторону от стандартного вывода/ошибки я делаю , [где команда — это любая команда, которая производит вывод/ошибку ]
command 2>filename
command 2>/dev/null
или
command &>filename
command &>/dev/null
В bash я часто вижу такой код
command >&/dev/null
что означает это дополнительное &
, когда то же самое можно сделать, используя
command> /dev/null
Я знаю, что упускаю что-то важное, но рад узнать это.
EDIT: Я знал, что такое 2>&1, о чем спрашивается в так называемом дублирующем вопросе, мне сказали, что 1 указывает на дескриптор файла, и, следовательно, нам нужен &, чтобы ссылаться на него. Я был озадачен, увидев & перед именем файла. Отсюда и этот вопрос.
решение1
>&fname
такой же как
>fname 2>&1
т.е. он перенаправляетобаstdout и stderr в файл fname
. Подробное объяснение см. bash(1)
на странице руководства, раздел REDIRECTION
(особенно в его части ).Redirecting Output