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: 101 Punkte bei 95 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: 121 Punkte bei 37 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: 67 Punkte bei 114 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Ähnliche Artikel

Aktuelle Fragen

MS LifeCam HD-5000 an Debian
Kay Michael, 13.04.2016 22:55, 0 Antworten
Hallo, ich versuche die oben erwähnte Cam an einem Thin Client mit Debian zu betreiben. Linux...
Import von Evolution nach KMail erzeugt nur leere Ordner
Klaus-Christian Falkner, 06.04.2016 12:57, 2 Antworten
Hallo, da ich vor einiger Zeit von Ubuntu auf Kubuntu umgestiegen bin, würde ich gerne meine E...
Sophos lässt sich nicht unter Lubuntu installieren
Chrstina Turm, 30.03.2016 20:56, 3 Antworten
Hi Leute, habe mir vor paar Tagen auf ein Notebook, das ohne Linux ausgedient hätte, Linux dr...
Novell Client auf Raspbian
Chris Baum, 16.03.2016 15:13, 3 Antworten
Hallo Community, ich hätte eine Frage, und zwar geht es um folgendes: Ich möchte eine Datei...
Pantheon konfigurieren (eOS)
John Smith, 16.03.2016 13:50, 0 Antworten
Hallo ins Forum, ich bin neu in der Linuxwelt und fühle mich bereits sehr wohl. Mein neues Sys...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] GPT-Partition boot-Festplatte?
Heiko, 03.05.2016 23:30
Am Dienstag, 3. Mai 2016, 12:26:22 schrieb Oliver: Hallo, > > >> Ich stehe im Moment auf dem...
Re: [EasyLinux-Ubuntu] OT: Fritz-Box mit Firmware 6.50 - Anrufbeantworter
Dietmar Schlosser, 03.05.2016 18:33
Am Samstag, 30. April 2016, 17:10:11 schrieb Alexander McLean: Hi Alexander > Du musst den oder die eing...
Re: [EasyLinux-Ubuntu] mobiler Hotspot / Fonic [OT]
"Michael R. Moschner", 03.05.2016 15:48
Am Dienstag, 3. Mai 2016, 14:29:21 schrieb Joachim Puttkammer: Hallo Im Moment benutze ich diesen und bin...
[EasyLinux-Ubuntu] mobiler Hotspot / Fonic [OT]
Joachim Puttkammer, 03.05.2016 14:29
Hallo, seit Jahren benutze ich einen Huawei mobilen Hotspot (Vorgänger von E5) und die Fonic Surf-Card wen...
[EasyLinux-Suse] SSD & openSUSE Leap 42.1 & easyLINUX
wmey, 03.05.2016 10:51
° In einer der kürzlichen Ausgaben erwähnt easyLINUX eher in einem Nebensatz, dass ein Test-bootvorgang unter...