перенаправление ввода-вывода в bash

перенаправление ввода-вывода в bash

В 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

Связанный контент