出力リダイレクトの複雑さ

出力リダイレクトの複雑さ

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様シェルでリダイレクト操作を実行するには、を使用する必要があります。

おすすめ記事