103.4標準
run-jobの標準出力をoutput.logへ保存する。
標準エラーはerrors.logへ保存し、どちらも既存内容を上書きする。
適切なコマンドはどれか。
× 不正解
>と2>を同じコマンドへ指定すると、標準出力と標準エラーを独立したファイルへ保存できる。
詳細解説
正しい
run-job > output.log 2> errors.logFD 1とFD 2をそれぞれ異なるファイルへ上書きする。
正解。FD 1とFD 2を別ファイルへ割り当てる。
誤り
run-job > output.log 2>&1標準エラーもoutput.logへまとめ、errors.logを作らない。
両方をoutput.logへまとめる。
誤り
run-job 2> output.log > errors.log出力先が要件と逆になる。
ファイルの割当が逆である。
誤り
run-job | output.log | errors.logファイル名をコマンドとしてパイプ接続しようとする。
パイプ右辺にはコマンドが必要である。
実際に確かめる
一時的な検証環境で実行できる例です。
bash -c 'printf OUT; printf ERR >&2' > /tmp/kp-out.log 2> /tmp/kp-err.log; paste -d, /tmp/kp-out.log /tmp/kp-err.log; rm /tmp/kp-out.log /tmp/kp-err.log期待される結果
OUT,ERR理解のポイント
- >はFD 1
- 2>はFD 2
- 出力先を独立に設定できる
確認時の注意
- 確認環境: Bash 5.2
基礎のおさらい
独立したFD
同じプロセスでも標準出力と標準エラーは別々の開かれた出力先を持てる。
解析用途
正常結果と診断を別ファイルにすると、後続処理が正常結果だけを扱いやすい。
問題IDKP-103-066
確認環境Bash 5.2
最終技術確認2026-08-12
誤り・権利侵害を報告