출력 리디렉션 복잡성

출력 리디렉션 복잡성

X 서버에 연결할 수 없고 오류가 발생하면 스크립트를 종료하려고 합니다.

xset -q &> /dev/null || { echo "서버가 손상되었습니다. 종료 1.";

그러나 xset -qspat의 출력을 콘솔에 인쇄합니다. 왜 그런지 잘 모르겠습니다. 내 이해 &>는 모든 출력을 리디렉션한다는 것입니다.

답변1

STDOUT 및 STDERR을 /dev/null 로 리디렉션하려면 xset -q다음을 수행해야 합니다.

xset -q > /dev/null 2>&1 || { echo "The Display Server is BROKEN.  Aborting."; exit 1; }

using을 사용한 리디렉션은 또는 내 &>에서만 bash유효 합니다 zsh. 따라서 2>&1모든 Bourne 유사 쉘에서 리디렉션 작업을 수행하려면 를 사용해야 합니다 .

관련 정보