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: 106 Punkte bei 129 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: 137 Punkte bei 46 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: 77 Punkte bei 149 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Ähnliche Artikel

Aktuelle Fragen

Samba-Server für Win-Daten & Linux-Dateirechte
Gerd Grundmann, 12.01.2017 18:25, 0 Antworten
Hallo Gemeinde, ich habe ewig gegooo.. aber nicht wirklich gefunden, was ich suche. Auf mei...
LM Cinnamon 18.1Serena 64 bit
Herwig Ameisbichler, 11.01.2017 13:02, 6 Antworten
Hallo an alle. Bin Linux Neuling.Habe auf meiner SSD neben W10 (finde ich nicht mehr)LM17.2 auch...
Bilder in E-Mail einbinden?
Werner Hahn, 23.12.2016 12:18, 4 Antworten
Dell Latitude E6510, Ubuntu 16.04, Mozilla Firefox Ich bitte um eine leicht verständliche Anle...
Linux Mint 17.2
Herwig Ameisbichler, 17.12.2016 11:19, 4 Antworten
Wer kann mir helfen? Hab seit gestern Linux am Pc.Wie kann ich diese Miniaturschrift im Menü,Lei...
Linux 17.2 Treiber f. PC Drucker installieren
Ernst Malitzki, 11.12.2016 13:04, 7 Antworten
Habe einen PC Drucker von HP. Möchte diesen PC Drucker an meinen PC anschließen. Hierzu benötige...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] adobe_flash_player_für_android
Wolfgang Voelker, 19.01.2017 18:34
Hallo Hartmut, daß du im Playstore dazu was findest, liegt daran, daß es Flash ja mal bis Android Gingerbread...
Re: [EasyLinux-Ubuntu] adobe_flash_player_für_android
Hartmut Haase, 19.01.2017 16:23
Hallo Wolfgang, > klares nein. Hat Google schon lange verboten. verstanden. Spaßig ist nur: wenn man im...
Re: [EasyLinux-Ubuntu] Streams_übertragen
Frank von Thun, 19.01.2017 05:54
Am 18.01.2017 um 19:53 schrieb alfred: > Am 18.01.2017 um 18:02 schrieb Frank von Thun: >> Am 18.0...
Re: [EasyLinux-Ubuntu] Streams_übertragen
Heiko, 18.01.2017 22:48
Am Mittwoch, 18. Januar 2017, 19:53:08 CET schrieb alfred: Hallo Alfred. > > OK, geht und holt die...
Re: [EasyLinux-Ubuntu] adobe_flash_player_für__android
Karl-Heinz, 18.01.2017 18:54
Am Wed, 18 Jan 2017 17:09:23 +0100 schrieb Hartmut Haase : Hallo Hartmut, such einfach mal nach "Fla...