Как мы можем перенаправить как stdin, так и stderr короче? , пожалуйста, исправьте меня, если метод ниже. Также предложите мне любой другой способ сделать это сразу.Перенаправление в bash
command <file1.txt 2>file2.txt
Как мы можем перенаправить как stdin, так и stderr короче? , пожалуйста, исправьте меня, если метод ниже. Также предложите мне любой другой способ сделать это сразу.Перенаправление в bash
command <file1.txt 2>file2.txt
Если вы на самом деле означает stdin
и stderr
я не думаю, что есть «короткий путь»; даже если был какой-то синтаксисом для этого (весьма маловероятно), ваш пример показывает, что вы хотите использовать различных файлов, поэтому вы должны явно указать каждый Перенаправление абы ...
Однако для stdout
и stderr
(если вы хотите, чтобы эти перенаправлены в тот же файл), вы можете ввести:
command &> file.txt
То, как вы это делаете, является правильным. Вы не можете перенаправлять как stdin, так и stderr в тот же файл. Вы можете перенаправить стандартный вывод и стандартный поток ошибок в тот же файл, хотя:
command >file.txt 2>&1
+1, ваш ответ является правильным, и вы были быстрее :) только –
@CostiCiudatu, потому что вы написали больше :) – ctn
Там на самом деле не «короче» путь сам по себе (я предполагаю, что по короче вы имеете в виду меньше символов).
Однако, в качестве альтернативы вы можете использовать:
cat file1.txt | command 2> file2.txt
Nice, не знал о '& > '. – ctn