2011-12-14 18 views
3

をコマンドの出力をリダイレクトすることはできませんターミナル。は、私は次のコマンドを実行しようとしています(postfixの状態のために)ファイルに

私はミックスに以下を追加してみました、とさえ出力をリダイレクトする前にエコーへの配管が、何も

postfix status 2>&1 > tmp 

他のコマンドも効果を持っているotのようでなかったが何の問題も動作しません。

答えて

0

回答を削除したSOユーザーのおかげで、今は感謝していません。私は正しい軌道に乗りました。私はここで答えを見つけました:posfixの応答をキャッチできるようにしたい人のための

http://irbs.net/internet/postfix/0211/2756.html

ので、私は次のメソッドを使用していました。

スクリプトを作成すると、出力が希望の場所に移動します。私はこのようにしました:

#!/bin/sh 
cat <<EOF | expect 2>&1 
set timeout -1 
spawn postfix status 
expect eof 
EOF 

私はスクリプト(例えばscript.sh)を実行し、そこからパイプ/リダイレクトすることができました。すなわちscript.sh> file.txt

私はPHPのためにこれを必要としました。私はexecを使用して実際に応答を得ることができました。

1

stdoutの代わりに端末に書き込むようです。私は 'エコー'にパイプを理解していない、あなたは '猫'にパイピングを意味ですか?

あなたはいつも 'script'コマンドを使うことができます。これは、端末に表示されているすべてのものを記録します。あなたは 'script'を実行してからコマンドを実行し、終了します。

5
script -c 'postfix status' -q tmp 
+0

少し拡大できますか?それが立てば、ゴリマーの答えには良いコメントになるでしょうが、彼はそれを説明しています。 –

+0

スクリプト-c 'logrotate -d -f /etc/logrotate.conf' -q /tmp/log.txt – zzapper

関連する問題