Das Problem ist mit den Nummern 08 und 09. Ich habe dies gegoogelt und herausgefunden, der Grund, 08 und 09 sind problematisch, aber keine Lösung.Inkrementieren einer Zahl und Hinzufügen einer führenden Null in Bash
Dies ist ein unsinniges Beispiel, das verwendet wird, um mein Problem kurz zu beschreiben, ohne auf die Details einzugehen.
cursorDay=2;
let cursorDay=$cursorDay+1;
case "$cursorDay" in
1) cursorDay=01;;
2) cursorDay=02;;
3) cursorDay=03;;
4) cursorDay=04;;
5) cursorDay=05;;
6) cursorDay=06;;
7) cursorDay=07;;
8) cursorDay=08;;
9) cursorDay=09;
esac
echo "$cursorDay";
Der Ausgang, den ich erwarte, ist "03", und tatsächlich bekomme ich diesen Ausgang. Aber wenn ich das gleiche tun, um zu versuchen und erhalten 08 bzw. 09, ich diesen Fehler:
line 100: let: cursorDay=08: value too great for base (error token is "08")
die Frage ist, ist es eine Möglichkeit zu „zwingen“ es 08 und 09 zu behandeln, als nur regelmäßigen Zahlen? Ich habe mehrere Beiträge gefunden, die detailliert beschreiben, wie man die Null beseitigt, aber ich will eine Null.
Sie könnten mehr Einblick in Ihrem Problem bekommen, wenn Sie erkennen Sie die _strings_ "01" wollen .. "09", nicht die _numbers_. – Wrikken