bashは、shellされ、2 streamsは、あなたがその出力データをリダイレクトすることができます。あなたがそこに送るものはすべて、空に消えてしまいます。
(シェルは、入力ストリームを持っていますが、出力を抑制するために尋ねたので、私はここにこれを無視します)
これらのストリームは、数字で表されます:stderrのために標準出力のための1および2。
あなたは(基本的にはデータがに流れる場所であるために指している)だけでは、<
と>
事業者とそれを行うだろう標準出力リダイレクトしたいのであれば
は、私たちが標準出力を抑制したいと(/にリダイレクトDEV /ヌル):
psql db -f sql.sql > /dev/null
あなたはこれがデフォルトですstdoutです見ることができるように、何もストリーム数が を使用していないあなたはストリーム番号を使用したい場合は、
を記述します。今、あなたはSTDERRORを抑制したい場合
psql db -f sql.sql 1> /dev/null
(ストリーム番号2)あなたはまた、別のストリームをリダイレクトすることができ
psql db -f sql.sql 2> /dev/null
、あなたはstdoutに例のSTDERROR、のために、使用したいですすべての出力をどこかに、定期的に、そしてエラーに保存したい場合に便利です。
psql db -f sql.sql 2>&1 > log.txt
あなたは2>&1
の間にスペースがないことができ、心は最後に、時には最も興味深いあなたはそれが完全に静かな "たいときのために、&>
を使用して、すべての出力を抑制することができるという事実である
psql db -f sql.sql &> /dev/null
psqlが送信しないため、この情報は基本的には健全ですが、この特定のケースでは全く機能しません有益なメッセージをstderrに送信します。それらはstdoutのデータと混在しています。 –
突然、最終的な '&>'の大文字小文字は、すべての出力を抑制することによって、ページャを停止するためにOPによって使用できるということがわかります。あなたが答えをどうにかして修正するなら、私はダウンボートを削除します。 –