# Bei der Berechnung von Zeit Fehlermeldung



## mr-sansibar (19. Februar 2008)

Hi !
wenn ich das unten stehende Shell-Skript ausführe zur Berechnung von Zeit bekomme ich diese Fehlermeldung:

_24*1 - (10 - 09: value too great for base (error token is "09")
aber wenn ich es vor 11 Uhr ausführe. würde mich sehr freuen wenn ich eine lösung dafür hätte, bin nicht so der shell typ.
_

#!/usr/bin/bash
#set -x
tageszeit=$(TZ=$(date +%Z)+$((24*1 - ($(date +%H) - $(date -u +%H)) )) date +"%Y%m%d")
for d in /all_logs/logger/*; do
test -d "$d" || continue
echo $tageszeit
scp $d/*appl_logs*$tageszeit*.tar server2:/ornder1/ornder2/load/tmp_tar/.
done



danke


----------



## olqs (19. Februar 2008)

Wechsle %H durch %k aus.

Die Bash denk bei Zahlen mit einer führenden Null, dass es sich um eine Oktalzahl handelt.
Sie nimmt also nicht Basis 10, sondern die Basis 8 her.
Im Oktalsystem gibts aber die 8 und die 9, aber als mögliche Darstellung nicht. Deshalb erhältst du die Fehlermeldung: Wert zu gross für Basis.
Ein Zahlensystem kurz zu erklären ist nicht so ganz einfach.

Mal der Link zu Wikipedia: http://de.wikipedia.org/wiki/Oktalsystem

Jedenfalls liefert die %k die Zahlenwerte ohne führende Null, also solltest du dieses Verhalten umgehen können.


----------

