Ordner für jeden Monat erstellen

U

uhbuntuh

Jungspund
Hallo!
Irgendwie werde ich nicht warm mit der Bash. Aus für mich unerfindlichen Gründen scheitere ich an den einfachsten Aufgaben. Brauche Hilfe! Was läuft hier falsch:

Code:
Code:
#!/bin/bash
monate=(Januar Februar März April Mai Juni Juli August September Oktober November Dezember);
for i in $(seq -w 1 12); do
  echo $i' '${monate[$i -1]};
done

Aus dem "echo" wird natürlich noch ein "mkdir".

Ausgabe:
Code:
01 Januar
02 Februar
03 März
04 April
05 Mai
06 Juni
07 Juli
./monatsordner.sh: line 4: 08: value too great for base (error token is "08")

Warum stoppt der gerade bei "08"? Die davor haben doch auch funktioniert?
 
08 wird als Oktalzahl interpretiert ;-)

Zahlensystem zur Basis 8 - musst du anders lösen, probiere das :-) Dein Fehler liegt in der Array-Behandlung ...

Code:
#!/bin/bash
monate=(Januar Februar März April Mai Juni Juli 
August September Oktober November Dezember);

for i in ${!monate[@]}
do
   y=$((i+1))
   echo $y' ' ${monate[i]} 
done
 
Zuletzt bearbeitet von einem Moderator:
Vielen Dank für die Hilfe!

Hatte "$(seq -w 1 12)" damit ich führende Nullen im Ordnernamen habe. Wie kann ich $i mit führenden Nullen auf 2 Stellen auffüllen?

Möchte halt sowas rausbekommen:
Code:
01 Januar
02 Februar
03 März
04 April
05 Mai
06 Juni
07 Juli
...
 
Code:
for i in Januar Februar März April Mai Juni Juli August September Oktober November Dezember;
do 
printf "%02g %s\n" $((++x)) $i;
done

Wolfgang
 

Ähnliche Themen

Auswahl Selectbox übergeben in PHP

Zurück
Oben