2012-04-09 23 views
5
#!/bin/bash 
./program <input.txt> output.txt 

> output.txtの部分は無視されているので、output.txtは空になります。標準入力と出力をBashでリダイレクトする方法

これはsortコマンドで機能しますので、他のプログラムでも動作することが予想されます。

これは機能しません。私はこれをどのように達成すべきですか?

+2

はおそらく./programからの出力は標準エラーに起こっていますか? '2> output.txt'を試してみてください – Richante

+0

@リチャンテLOLは奇妙ですが今は動作します(なぜコメントに答えを書いていますか?)thanks – Inuart

答えて

6

あなたが見ている出力はstderrで、stdoutではありません。ファイルにそれらの両方をリダイレクトするには、次の操作を行います。

./program <input.txt> output.txt 2>&1 

または

./program < input.txt &> output.txt 
+0

' ./program output.txt'? – grinch

関連する問題