stdout으로 전송된 텍스트가 stderr의 텍스트로 대체되도록 명령 출력을 리디렉션할 수 있습니까?
$ ./script
this line is redirected to stdout
this line is redirected to stderr
$ ./script (insert redirections here)
this line is redirected to stderr
를 사용할 수 있다는 것을 알고 있지만 1>/dev/null
이를 수행하기 위해 텍스트를 stderr에서 stdout으로 리디렉션하는 방법이 있는지 궁금합니다.
답변1
다음을 수행할 수 있습니다.
./script 2>&1 1>/dev/null
이는 fd 2를 fd 1이 가리키는 것(즉 stdout
)으로 리디렉션한 다음 fd 1을 로 리디렉션합니다 /dev/null
. 두 번째 리디렉션은 첫 번째 리디렉션에 영향을 주지 않으며 fd 2에 대한 출력은 으로 전송됩니다 stdout
.
그러나 순서는 중요합니다. 이것으로:
./script 1>/dev/null 2>&1
모든 출력은 으로 전송됩니다 /dev/null
.