Ich habe ein ziemlich einfaches Bash-Skript in Ubuntu ausgeführt, aber habe ein Problem gefunden. Bei Bedarf werde ich das ganze Skript posten, aber ich habe das Problem eingegrenzt. Grundsätzlich möchte ich einige Code alle 15 Sekunden laufen, also begann ich mit diesem:Bash-Skript, Ungültige Nummer: 08
time=`date +%S`
time2=$((time%15))
if [ $time2 -eq 0 ]
then
etc, etc, etc ....
Das Problem kommt, wenn die Zeit 08 Sekunden ist. Das Skript endet mit Illegal Nummer: 08. das Hinzufügen, bei der Verwendung von:
time2=$(($time%15))
anstelle der illegalen Anzahl Fehler wäre es mit arithmetischem Ausdruck beenden: erwartete EOF: "08% 15"
Ich schätze, 08 wird nicht als eine Zahl interpretiert. Oder es gibt ein Grundproblem, wie es denkt, dass es oktal oder so ist. Irgendeine Hilfe?
08 wird wahrscheinlich als oktal in den meisten C-Stil Sprachen und Systeme interpretiert. – OregonGhost
@OregonGhost: In der Tat. Und genauer gesagt ist 08 keine gültige Zahl in Oktal, daher die Fehlermeldung. Im Vergleich dazu ist das gleichbedeutend mit dem Zählen in Hex und dem Übergang von 0x0F zu 0x0G, d. H. Du kannst das nicht ;-) –