Leider hat dieses Skript einige Probleme mit Zitaten. Es wird funktionieren, wenn Sie dem Code diese Funktion hinzufügen:
date () { command date "$*" }
Eigentlich müssen Sie die Quelle nicht ändern. Tun Sie dies: Definieren Sie die Funktion "Datum" und exportieren Sie sie:
$ date() { command date "$*"; } $ export -f date $ annotate-output "+foo %T" bash -c "echo stdout; echo stderr >&2" foo 10:38:30 I: Started bash -c echo stdout; echo stderr >&2 foo 10:38:30 E: stderr foo 10:38:30 O: stdout foo 10:38:30 I: Finished with exitcode 0
Es kann Probleme geben, wenn die Sache, die Sie kommentieren, auch Anrufe annimmt date
.
Wenn Sie die Annotate-Ausgabe in Ihrem System korrigieren möchten, wenden Sie diesen Unterschied an
$ diff /usr/bin/annotate-output bin/annotate-output 28c28 < echo "`date $` $1: $line" --- > printf "%s %s: %s\n" "$(date "$FMT")" "$1" "$line" 78c78 < echo "`date $` I: Started $@" --- > addtime I <<< "Started $*" 83c83 < echo "`date $` I: Finished with exitcode $EXIT" --- > addtime I <<< "Finished with exitcode $EXIT"