103.4基礎
validate-configの標準エラーだけをerrors.logへ上書き保存する。
標準出力は引き続き端末へ表示する。
適切なコマンドはどれか。
× 不正解
2>はファイル記述子2、つまり標準エラーの出力先を変更する。標準出力のFD 1には影響しない。
詳細解説
誤り
validate-config > errors.log標準出力を保存し、標準エラーは端末へ残る。
標準出力側を保存する。
誤り
validate-config >> errors.log標準出力を追記する指定である。
標準出力側を追記する。
誤り
validate-config < errors.logerrors.logを標準入力として読み込む指定である。
入力方向である。
正しい
validate-config 2> errors.logFD 2の標準エラーだけをerrors.logへリダイレクトする。
正解。エラーだけをerrors.logへ送る。
実際に確かめる
一時的な検証環境で実行できる例です。
bash -c 'printf OUT; printf ERR >&2' 2> /tmp/kp-errors.log; printf '|'; cat /tmp/kp-errors.log; rm /tmp/kp-errors.log期待される結果
OUT|ERR理解のポイント
- FD 2は標準エラー
- FD 1は標準出力
- 2>はエラーだけを上書き
確認時の注意
- 確認環境: Bash 5.2
基礎のおさらい
出力の分離
通常出力と診断出力を別FDにすることで、パイプ処理とエラー表示を独立に扱える。
省略されるFD
>は1>の省略形だが、標準エラーには2を明示する。
問題IDKP-103-065
確認環境Bash 5.2
最終技術確認2026-08-12
誤り・権利侵害を報告