0

Mac Mountain Lionのターミナルから、次のコマンドを実行しています。

mysql -h localhost -u root -p -B database | gunzip < db.sql.gz

正常に実行され、データベースは作成されますが、ファイルの内容はstd outに入れられるため、実行中に内容がターミナルウィンドウに吐き出されるのがわかります。

誰かがターミナル出力をオフにするスイッチを教えてもらえますか?私はこれをグーグルで検索しましたが、理解できません。その上、それは今他の人のためにここに文書化されるでしょう;)

4

2 に答える 2

2

コマンドが逆になっています。データはパイプを左から右に流れます:

gzcat db.sql.gz | mysql -h localhost -u root -p -B database

同様に、gunzipはファイルを解凍しますが、その内容は出力しません。代わりにgzcatを使用して、解凍したコンテンツをstdoutにダンプします。次に、|パイプはその出力を「キャッチ」し、それをmysqlにリダイレクトします。mysqlはそれを入力として使用します。

于 2012-11-09T14:36:10.520 に答える
2

コマンドに従ってください

 > /dev/null

通常の出力は抑制されますが、エラーは引き続き表示されます

コマンドに従ってください

 > /dev/null 2>&1

エラーを含むすべてが抑制されます

于 2012-11-09T14:39:57.943 に答える