Я знаю ответ для некоторых оболочек, например, с помощью cmd.exe
вы можете:
some.exe > out.txt 2>&1
Как добиться того же для других оболочек (bash, ksh, tcsh, powershell и т.д.)?
Я знаю ответ для некоторых оболочек, например, с помощью cmd.exe
вы можете:
some.exe > out.txt 2>&1
Как добиться того же для других оболочек (bash, ksh, tcsh, powershell и т.д.)?
Рыбная раковина
Чтобы перенаправить как стандартный вывод, так и стандартную ошибку в файл all_output.txt, вы можете написать:
echo Hello > all_output.txt ^&1
Для csh и tcsh
some.exec >& out.txt
В Bash вы делаете точно так же.
./some_exec > out 2>&1
В Powershell это точно так же:
2>&1 Sends errors to the get-process none, powershell 2>&1 success output stream.
(из about_Redirection
).
В bash
и ksh, по крайней мере, я тоже знаю, что так работает.
Кажется, это общее соглашение.
Быстрый способ узнать об этом - открыть страницу руководства оболочки и выполнить поиск для &1
(с помощью /
а затем набрав &1
). Это редко происходит в других контекстах.