Das Array in den Feldern seperator gibt diese Art von Zeitcodes (Stunden: Minuten: Sekunden).Doppelpunkt im Zeitstempel verwendet gibt für Variable einen Syntaxfehler
01:00:00
Wie ich habe dies in den folgenden Code:
maximum=25
count=0
countrow=1
while [ $count -lt $maximum ]; do
let start$countrow="${fields[$count]}"
count=$(($count+1))
let end$countrow="${fields[$count]}"
count=$(($count+1))
countrow=$(($countrow+1))
done
Sollte die Ausgabe als geben:
start1="01:00:00"
start2="02:00:00"
Aber gibt mir diese Fehlermeldung:
start1=01:00:00: syntax error in expression (error token is ":00:00")
I Ich habe versucht, viele Möglichkeiten, ich denke, der Doppelpunkt ist das Problem em aber weiß nicht, wie man das im Code "umgeht"?
Mathematische Kontexte wirken auf Ganzzahlen. Ein Wert mit Doppelpunkten ist keine Ganzzahl. –
... übrigens, 'start $ countrow = ...' ist nicht gerade das beste Verfahren für die indirekte Zuweisung. Siehe [den relevanten Abschnitt von BashFAQ # 6] (http://mywiki.wooledge.org/BashFAQ/006#Assigning_indirect.2Freference_variables) –
Außerdem ist Ihr Code derzeit kein MCVE - ich kann es nicht kopieren und einfügen und die exakt gleiche Ausgabe erhalten. Bitte weisen Sie Ihr 'fields' Array auf eine Art und Weise zu, die Sie in der Praxis verwenden. –