Bash Array und for schleife

Autor

Mittwoch, 11. September 2013 21:56:01

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

Carsten Retzlaff

3 Antworten


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: 77 Punkte bei 38 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: 84 Punkte bei 13 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: 48 Punkte bei 60 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Ähnliche Artikel

  • Teil 6: Funktionen und Module
    Programmiersprachen sind dazu gedacht, Computer-Befehle in menschlich lesbarer Form aufzuschreiben. Dazu gehört mehr als nur verständliche Befehle – eine übersichtliche Strukturierung und Untergliederung tut Not.
  • Hardware-Überwachung mit xmbmon
    Mit einem Hardware-Monitor werfen Sie ein scharfes Auge auf die Lüfterdrehzahl und die Temperatur von Prozessor und Mainboard. So vermeiden Sie ärgerliche Ausfälle durch Überlastung der Komponenten.
  • KDE-Hintergrund mit SuperKaramba und Python aufwerten
    SuperKaramba sorgt dafür, dass sogar der KDE-Hintergrund etwas Nützliches tut. Was das ist, können Sie selbst programmieren – mit Python.
  • Apt2 soll die Installation von Debian-Paketen beschleunigen
    Der Debian- und Ubuntu-Entwickler Julian Andres Klode berichtet in seinem Blog vom Fortschritt seiner Software Apt2, einer alternativen Umsetzung von Debians Advanced Packaging Tool (Apt).
  • Mit dd_rescue defekte Partition wiederherstellen
    Wer regelmäßig seine Daten sichert, braucht vor Platten-Versagen keine Angst zu haben – doch manchmal vergisst man die regelmäßigen Backups. Verabschiedet sich dann die Festplatte mit einem Lesefehler, ist guter Rat teuer. Oder umsonst, wenn Sie "dd_rescue" verwenden.

Stellenanzeigen

System–Administrator (m/w)
IT-Systemadministrator

Mehr erfahren...
(Vollständige Anzeige auf Linux-Magazin Online)


Senior-System–Administrator (m/w)
IT-Systemadministrator

Mehr erfahren...
(Vollständige Anzeige auf Linux-Magazin Online)

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 0 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Fernwartung oder wartung im haus
heide marie voigt, 29.06.2015 10:37, 0 Antworten
gerne hätte ich jemanden in Bremen nord, der mir weiter hilft - angebote bitte mit preis HMVoigt
Druckeranschluss DCP-195C
heide marie voigt, 29.06.2015 10:35, 1 Antworten
installiert ist linux ubuntu 15.04 offenbar auch der treiber für den Drucker DCP-195C. Die Konta...
keine arbeitsleiste beim einloggen
heide marie voigt, 27.06.2015 13:31, 0 Antworten
seit der neu-installierung von linux ubuntu 15.04 erscheint die arbeitsleiste rechts oben erst na...
raid platte an linux mint 17.1
andreas schug, 23.06.2015 19:44, 0 Antworten
folgende thematik NAS Iomega Storage Center wird auf einmal nicht mehr im netzwerk erkannt .....
SUSE 13.2 - Probleme mit kmail
kris kelvin, 03.06.2015 13:26, 2 Antworten
Hallo, nach dem Umstieg auf 13.1 hatte ich das Problem, daß kmail extrem langsam reagierte. Nun...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Text von Linux nach Win
Matthias Müller, 30.06.2015 22:46
Hallo, Am Dienstag, 30. Juni 2015 schrieb ac_ro: > Hallo Liste, > > mir sind wieder die zwei...
Re: [EasyLinux-Ubuntu] Enigmail
Wolfgang Tiedemann, 30.06.2015 22:29
???3???6?2?15????19??8??????????????????????????????????????????????????????????????3????????2?15?18?26?45?????...
Re: [EasyLinux-Ubuntu] Enigmail
Wolfgang Tiedemann, 30.06.2015 22:22
???3???6?2?15????2??35????????????????????????????????3??????2?15?18?26?45???2?????????????????????????????????...
Re: [EasyLinux-Ubuntu] Text von Linux nach Win
Uwe Herrmuth, 30.06.2015 20:43
Hallo Willi, ac_ro schrieb am 30.06.2015 um 10:13: > mir sind wieder die zwei Welten an den Kopf gefloge...
Re: [EasyLinux-Ubuntu] Enigmail
Karl-Heinz, 30.06.2015 20:35
Am Tue, 30 Jun 2015 18:26:45 +0200 schrieb "W.Tiedemann" : Hallo Wolfgang, > Mein zweites Pr...