zshrc
には、バックグラウンドで別のコマンドを呼び出すコマンドがたくさんあります。バックグラウンドコマンドは、テキスト読み上げプログラムのエイリアスです(テストスイートやパッチなどのプロセスが終了したときに音声キューを提供するために使用します)。
現在、次のように呼び出されます。
alert "Message for this current task" &
ものすごく単純。
ただし、この形式を使用すると、次の出力が得られます。
$ alert "Foobar" &
[1] 85072
$
[1] + done alert "Foobar"
$
Pidとdone
メッセージの出力を抑制したい。それ、どうやったら出来るの?
alert "Foobar" > /dev/null &
を試しましたが、アラートの出力をdevnullにパイプするだけです。
alert "Foobar" & > /dev/null
を試しましたが、それは私が完全には理解していない予期しない悪いことをしました。
'quiet'モードで&
を使用するにはどうすればよいですか?
サブシェルを使用して、ジョブ制御メッセージを取り除くことができます。
$ alias alertme="xmessage Alert!"
$ ( alertme & )
$
コンマがSTDOUTやSTDERRへの出力も生成する場合は、それらを/dev/null
にパイプします。
$ ( alertme > /dev/null 2>&1 & )
ここに別の答えの少しきちんとしたバージョン:
(&>/dev/null alertme &)