Io-Redirection

輸出重定向複雜性

  • March 9, 2019

如果腳本無法到達 X 伺服器,我正在嘗試讓腳本退出並出現錯誤:

xset -q &> /dev/null || { echo "顯示伺服器已損壞。正在中止。"; 1號出口;}

但是,我將xset -qspat 的輸出輸出到控制台。我不太清楚為什麼。我的理解&>是它重定向了所有輸出。

如果你想將 STDOUT 和 STDERR 重定向到 /dev/null for xset -q,你應該這樣做:

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

using 的重定向&>僅適用於bashor zsh。因此,您應該使用2>&1讓重定向在所有類似 Bourne 的 shell 中工作。

引用自:https://unix.stackexchange.com/questions/91098