0

コマンドの出力をファイルにリダイレクトしようとしています。私が使用しているコマンド (zypper) は、インターネットからパッケージをダウンロードします。私が使用しているコマンドは

zypper -x -n in geany >> log.txt

The command gradually prints output to the console. The problem I am facing is that the above command writes the command output all at once after the command finishes executing. How do I redirect the bash output as I get it onto the terminal, rather than writing all the command output at the end.

4

2 に答える 2

5

bash 自体ではなく、次のteeコマンドを使用します。

zipper -x -n in geany | tee log.txt
于 2012-11-08T17:39:38.603 に答える
1

&>>ファイルコマンド

COMMAND の出力を FILE に追加します

あなたの場合

&>>log.txt zypper -x -n in geany 

フィルターを介してコマンドをパイプする場合は、コマンドが標準出力 (ファイル記述子 1) に出力されることを確認する必要があります。標準エラー (ファイル記述子 2) に出力する場合は、コマンドの前に 2 を 1 にリダイレクトする必要があります。パイプ。stdout のみがパイプを通過したことを考慮してください。

だからあなたはそうしなければなりません:

2>&1 COMMAND | FILTER

出力をgrepしてログファイルに保存したい場合は、で複製しtee、次のようなフィルターを使用する必要があります ... | tee log-file | grep options

于 2012-11-08T17:39:40.353 に答える