こんなことやってたわけです。
#!/bin/bash
LOGFILE=/tmp/script-log
command1 > $LOGFILE 2>&1
command2 > $LOGFILE 2>&1
... > $LOGFILE 2>&1
... > $LOGFILE 2>&1
... > $LOGFILE 2>&1
... > $LOGFILE 2>&1
#!/bin/bash
LOGFILE=/tmp/script-log
exec 1> >(cat >> $LOGFILE)
exec 2> >(cat >> $LOGFILE)
command1
command2
...
...
...
#!/bin/bash
LOGFILE=/tmp/script-log
exec 1> >(awk '{print strftime("[%Y-%m-%d %H:%M:%S] "),$0 } { fflush() } ' >> $LOGFILE)
exec 2> >(awk '{print strftime("[%Y-%m-%d %H:%M:%S] "),$0 } { fflush() } ' >> $LOGFILE)
command1
command2
...
...
...
ちょこちょこ処理が増えてきてしまうと すぐに >> $logfile 2>&1 まみれになってしまっていたシェルスクリプトがようやくスッキリ書けるようになりました。 exec によるプロセス置換は他にも応用が効きそうなのでもっと調べると色々捗りそうです。