bash(sh)のビルトインコマンド time の出力がどうしてもリダイレクトできなくて困ってた。 たとえば、サービスのバックアップをとるスクリプトの時間を計測して、それを記録したい場合、timeの出力は標準エラー出力にでるので、 % time backup-service.sh 2> log とやればいいように思えるが、これではうまくいかない。なぜなら time が bash のビルトインコマンドであるために、backup-service.sh 2> log が先に評価されてしまうのであった。参考: Redirecting output of the bash keyword time コマンド版の time を使うと、正常にリダイレクトできる % /usr/bin/time backup-service.sh 2> log で、結局どうすればよいかというと、{ COMMANDS ; }