私はこれだけ知っています:
$ command 2>> error
$ command 1>> output
stderrをエラーファイルに出力し、stdoutをbashの同じ行の出力ファイルに出力する方法はありますか?
私はこれだけ知っています:
$ command 2>> error
$ command 1>> output
stderrをエラーファイルに出力し、stdoutをbashの同じ行の出力ファイルに出力する方法はありますか?
回答:
1行に追加するだけです command 2>> error 1>> output
ただし、これ>>は、ファイルにすでにデータがある場合に追加するためのものです。一方、>ファイル内の既存のデータは上書きされます。
したがって、command 2> error 1> output追加したくない場合。
ただ、完成のために、あなたは書くことができる1>と同じように>、デフォルトのファイルディスクリプタが出力されますので、。これ1>と>同じことです。
だから、にcommand 2> error 1> outputなるcommand 2> error > output
command &2>err.logとどのように違うのか、私は完全に混乱している構文だと思います。(すべてのbash pipe-ismsの適切な回答へのリンクが正しい場合があります)
                    command &2>err.log完全に合法ではないようです-その構文のアンパサンドは、ターゲットとしてファイル記述子に使用されますcommand 1>&2。たとえば、stdoutをstderrに再ルーティングします。
                    これを試して:
your_command 2>stderr.log 1>stdout.log
数字0までは、9あるファイルディスクリプタのbashインチ 
0標準入力を1表し、標準出力を2表し、標準エラーを表します。3から9他の一時的な使用のための予備です。
演算子を使用して、ファイル記述子をファイルまたは別のファイル記述子にリダイレクトできます>。>>代わりに、空のファイルを作成する代わりに、演算子を使用してファイルに追加できます。
使用法:
file_descriptor > filename
file_descriptor > &file_descriptor
Advanced Bash-Scripting Guide:Chapter 20. I / O Redirectionを参照してください。
そのように:
$ command >>output 2>>error
              または、出力(stdoutとstderr)を1つのファイルに混在させる場合は、次のように使用できます。
command > merged-output.txt 2>&1
              複数のコマンドの出力をリダイレクトできます。これは、コマンドラインまたはbashスクリプトで最も便利に機能します。-s画面にプロンプトパスワードを指示します。
Hereblockコマンドstdout / stderrは、個別のファイルに送信され、何も表示されません。
sudo -s -u username <<'EOF' 2>err 1>out
ls; pwd;
EOF
hereblock cmds stdout / stderrは単一のファイルに送信されて表示されます。
sudo -s -u username <<'EOF' 2>&1 | tee out
ls; pwd;
EOF
hereblock cmds stdout / stderrは、個別のファイルとstdoutに送信されて表示されます。
sudo -s -u username <<'EOF' 2>err | tee out
ls; pwd;
EOF
あなたが誰であるか(whoami)とユーザー名に応じて、パスワードが必要な場合と必要でない場合があります。
1>ように書くことができるかについてのあなたの説明が本当に好きです>