set -x
verbose / debug 출력을 갖는 쉘 스크립트가 있습니다.
#!/bin/bash
set -x
command1
command2
...
결과는 다음과 같습니다.
+ command1
whatever output from command1
+ command2
whatever output from command2
내 문제는 쉘 출력 (발생이된다 set -x
) 명령의 출력 (와 혼합 표준 에러에 간다 command1
, command2
...). 화면에 "정상"출력 (예 : 스크립트 woud없이 실행 set -x
)과 bash의 "추가"출력을 파일에 별도로 사용하게되어 기쁩니다 .
화면에 이것을 표시하고 싶습니다.
whatever output from command1
whatever output from command2
그리고 이것은 로그 파일에 있습니다 :
+ command1
+ command2
(로그 파일에 모든 것이 함께 있으면 괜찮습니다)
는 set -x 2> file
이 설정 명령의 출력 아니기 때문에 분명히 넣은 사람은 아니다 오른쪽을 적용,하지만 배쉬의 동작을 변경합니다.
bash 2> file
전체 스크립트를 사용하면 이 셸에서 실행되는 모든 명령의 stderr을 리디렉션하므로 올바른 작업을 수행하지 않으므로 명령의 오류 메시지가 표시되지 않습니다.