我试图在无法到达 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 的 shell 中工作。