X 서버에 연결할 수 없고 오류가 발생하면 스크립트를 종료하려고 합니다.
xset -q &> /dev/null || { echo "서버가 손상되었습니다. 종료 1.";
그러나 xset -q
spat의 출력을 콘솔에 인쇄합니다. 왜 그런지 잘 모르겠습니다. 내 이해 &>
는 모든 출력을 리디렉션한다는 것입니다.
답변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 유사 쉘에서 리디렉션 작업을 수행하려면 를 사용해야 합니다 .