다른 쉘에 stdout과 stderr을 어떻게 결합합니까?


18

나는 cmd.exe당신 과 같은 일부 껍질에 대한 답을 알고 있습니다.

some.exe > out.txt 2>&1

다른 쉘 (bash, ksh, tcsh, powershell 등)에 대해서도 어떻게 동일합니까?

답변:


16

생선 껍질

표준 출력과 표준 오류를 all_output.txt 파일로 리디렉션하려면 다음과 같이 쓸 수 있습니다.

echo Hello > all_output.txt ^&1

3
배관이 다음 명령으로 출력되면 2> | 대신 : echo Hello 2> | less
Jeffrey04

파이핑 구문이 변경되었을 수 있습니다. 내 생선 껍질은 둘 다 동일한 구문 "^ & 1"을 사용합니다.
Keith Bentrup

2>&1또한 작동- ^본질적으로 물고기의 속기입니다 >2. 그 주 2>| less또는 ^| less파이프 자체 만을 표준 에러; 우리와 실수를 모두 처리하기 위해,^&1 | less
Beni Cherniavsky-Paskin

구문 / 리디렉션 모두 아웃 배관 shorthands 및 ERR은 토론에서 여전히 github.com/fish-shell/fish-shell/issues/110
베니 Cherniavsky-Paskin


2

Powershell 에서는 정확히 동일합니다.

2> & 1 get-process none, powershell 2> & 1에 오류를 보냅니다.
          성공 출력 스트림.

(에서 about_Redirection).

에서 bash와 KSH 적어도 나는 또한이 방식으로 작동합니다 알고있다.

일반적인 규칙 인 것 같습니다.

쉘의 맨 페이지를 열고 &1( /을 입력 한 후 &1) 검색하는 것이 빠른 방법 입니다. 다른 상황에서는 거의 발생하지 않습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.