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: 108 Punkte bei 77 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: 126 Punkte bei 27 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: 62 Punkte bei 95 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Ähnliche Artikel

Der Tipp der Woche

Schon gewußt?

14.11.2015

Auch unter Ubuntu 15.10 kann man wieder mit dem Startmedienersteller (alias Startup Disk Creator) ein Live-System auf einem USB-Stick einrichten. ...

Fehler des Startmedienerstellers von Ubuntu 15.10 umgehen

Aktuelle Fragen

Tails Update
Val Lerie, 11.01.2016 10:51, 0 Antworten
Hallo zusammen, updaten > update Speichern unter > Persistent nicht möglich, mit der Meldung;...
Recoll
Jürgen Heck, 20.12.2015 18:13, 4 Antworten
Wie kann man mit Recoll nach bestimmten Zeichen/Satzzeichen bzw. Zeichenkombinationen suchen, z....
Wings Platinum 4 auf Linux?
Bodo Steguweit, 18.12.2015 11:37, 4 Antworten
Hallo in die Runde ich nutze für meine Diashows Wings Platinum 4 als Diareferent. Arbeite jetzt...
Bandbreite regulieren
Georg Armani, 25.11.2015 16:50, 1 Antworten
Hallo, ich bin ein Neuling in Sachen Linux und hoffe auf Hilfe. Ich habe zwei Windows Rechner...
Windows 10 verhindert LINUX
Hans Wendel, 17.11.2015 17:47, 8 Antworten
Hallo alle, mit einem W10-Laptop (vorher war Win7) wollte ich LINUX ausprobieren. Alles, was ni...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Die_Speichergröße_von_Bildern_reduzieren.
Heiko, 09.02.2016 03:30
Am Dienstag, 9. Februar 2016, 01:26:11 schrieb alfred: Hallo Alfred., > > >> Gwenview ist KD...
Re: [EasyLinux-Ubuntu] Die_Speichergröße_von_Bildern_reduzieren.
alfred, 09.02.2016 01:31
Am 08.02.2016 um 18:05 schrieb Karl-Heinz: Hallo Karl-Heinz, > warum soviel Aufwand für sowas einfaches?...
Re: [EasyLinux-Ubuntu] Die_Speichergröße_von_Bildern_reduzieren.
alfred, 09.02.2016 01:26
Am 08.02.2016 um 12:23 schrieb Heiko Ißleib: Hallo Heiko, >> Gwenview ist KDE, habe es trotzdem insta...
Re: [EasyLinux-Ubuntu] Die_Speichergröße_von_Bildern_reduzieren.
Karl-Heinz, 08.02.2016 18:05
Am Sun, 7 Feb 2016 02:28:40 +0100 schrieb alfred : Hallo Alfred, warum soviel Aufwand für sowas einfaches...
Re: [EasyLinux-Ubuntu] Die_Speichergröße_von_Bildern_reduzieren.
Heiko, 08.02.2016 12:23
Am Montag, 8. Februar 2016, 03:15:32 schrieb alfred: > Am 07.02.2016 um 03:15 schrieb Heiko Ißleib: >...