Bash Array und for schleife

Carsten Retzlaff - Mittwoch, 11. September 2013 21:56:01 - 3 Antworten

Hallo,

ich habe ein Script geschrieben, das aus einer csv - Datei Daten in ein Array einlesen soll. Das Script sieht folgender maßen aus:

#!/bin/sh
z=0
for i in `cat tageswerte.csv`;
do
temp[$z]=$i
echo temp[$z]
z=$(($z+1))
done

Das Problem ist, das die Daten scheinbar richtig eingelesen werden und trotzdem eine Fehlermeldung kommt:

./dateilesen1: 5: ./dateilesen1: temp[0]=14.1: not found
temp[0]
./dateilesen1: 5: ./dateilesen1: temp[1]=14.1: not found
temp[1]
./dateilesen1: 5: ./dateilesen1: temp[2]=14.1: not found
temp[2]
./dateilesen1: 5: ./dateilesen1: temp[3]=14.0: not found
temp[3]
./dateilesen1: 5: ./dateilesen1: temp[4]=0: not found
temp[4]
./dateilesen1: 5: ./dateilesen1: temp[5]=14.0: not found

Wo ist der fehler?

cu, Carsten

Antworten
falsche shell
Uwe Koziolek, Donnerstag, 12. September 2013 07:34:43
Ein/Ausklappen

Zeile 1 erzwingt eine Bourne-Shell. Eine Bourne-Shell unterstützt keine indizierten Variable.
Eine #!/bin/bash sollte helfen.


Bewertung: 121 Punkte bei 134 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
bashism
llutz (unangemeldet), Donnerstag, 12. September 2013 07:30:26
Ein/Ausklappen

Moin,
/bin/sh ist bei dir sicherlich ein Link auf /bin/dash, dein Script benutzt aber bash-spezifische Elemente.
Ändere den Shebang ab " #!/bin/bash " und es sollte funktionieren

hth,
Lutz


Bewertung: 174 Punkte bei 54 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: bashism
Carsten Retzlaff, Donnerstag, 12. September 2013 18:09:58
Ein/Ausklappen

Danke an alle das war der Fehler! Ich dachte als Anfänger das es egal ist ob man nun sh oder bash nimmt!

aber es funktioniert jetzt.

cu, Carsten


Bewertung: 152 Punkte bei 178 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Ähnliche Artikel

Aktuelle Fragen

Anfänger Frage
Klaus Müller, 24.05.2017 14:25, 1 Antworten
Hallo erstmal. Habe von linux nicht so viel erfahrung müsste aber mal ne doofe frage stellen. A...
Knoppix-Live-CD (8.0 LU-Edition) im Uefiboot?
Thomas Weiss, 26.04.2017 20:38, 2 Antworten
Hallo, Da mein Rechner unter Windows 8.1/64Bit ein Soundproblem hat und ich abklären wollte, o...
Grub2 reparieren
Brain Stuff, 26.04.2017 02:04, 5 Antworten
Ein Windows Update hat mir Grub zerschossen ... der Computer startet nicht mehr mit Grub, sondern...
Linux open suse 2,8
Wolfgang Gerhard Zeidler, 18.04.2017 09:17, 2 Antworten
Hallo.bitte um Hilfe bei. Code fuer den Rescue-login open suse2.8 Mfg Yvo
grep und sed , gleicher Regulärer Ausdruck , sed mit falschem Ergebnis.
Josef Federl, 15.04.2017 00:23, 1 Antworten
Daten: dlfkjgkldgjldfgl55.55klsdjfl jfjfjfj8.22fdgddfg {"id":"1","name":"Phase L1","unit":"A",...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] [OT] Krass unterschiedliche Prozessorleistung
Uwe Herrmuth, 25.05.2017 12:28
Hallo Michael, Michael schrieb am 25.05.2017 um 11:17: mit ungültiger Signatur. Hast Du vielleicht auf De...
Re: [EasyLinux-Ubuntu] Krass unterschiedliche Prozessorleistung
"Michael R. Moschner", 25.05.2017 11:17
Am Dienstag, 16. Mai 2017, 23:00:16 schrieb Alfred Zahlten: Hallo Alfred und Steffen > > Ist der Proz...
Re: [EasyLinux-Ubuntu] Debian XFCE Energieverwaltung
Heiko Ißleib, 25.05.2017 00:40
Hallo. Tatsächlich Google ich Geräte nach Linuxtauglichkeit.Oder kaufe Rechner,die auch ohne Windows angeb...
Re: [EasyLinux-Ubuntu] Debian XFCE Energieverwaltung
flecralf, 25.05.2017 00:17
Am 24.05.2017 um 18:57 schrieb Alexander McLean: > Am Dienstag, den 23.05.2017, 00:01 +0200 schrieb flecra...
Re: [EasyLinux-Ubuntu] Debian XFCE Energieverwaltung
Alexander McLean, 24.05.2017 18:57
Am Dienstag, den 23.05.2017, 00:01 +0200 schrieb flecralf: > > Ist alles keine gute Werbung für Linu...