Bash. Сравнение и отличия 2>&1 и &>
Штудирую и проверяю свои "знания" в bash.
Столкнулся с непониманием 2>&1
и &>
2>&1
перенаправление стандартного вывода ошибок (stderr) в тот же устройство вывода, что и стандартный вывод (stdout).
ls -al /etc/passwd /fake_file>output.txt 2>&1
cat output.txt
Результат
ls: невозможно получить доступ к '/fake_file': Нет такого файла или каталога
-rw-r--r-- 1 root root 2310 мар 14 22:49 /etc/passwd
&>
перенаправление стандартного вывода ошибок (stderr
), так стандартного вывода (stdout
) в файл или устройство вывода
ls -al /etc/passwd /fake_file &> output.txt
cat output.txt
ls: невозможно получить доступ к '/fake_file': Нет такого файла
или каталога
-rw-r--r-- 1 root root 2310 мар 14 22:49 /etc/passwd
Объясните пожалуйста разницу 2>&1
и &>
Спасибо