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: 65 Punkte bei 18 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: 68 Punkte bei 6 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: 16 Punkte bei 18 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.

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Heft easyLinux 04/2014
Alfred Zahlten, 23.10.2014 00:18
Am 22.10.2014 um 17:18 schrieb Heiko Ißleib: Hallo Heiko, jetzt habe ich Knoppix noch mal auf einen Stick k...
Re: [EasyLinux-Suse] Nach Update Akonadi kaputt?
Wilhelm Boltz, 22.10.2014 23:34
Hallo Stefan, Am Mittwoch, 22. Oktober 2014, 18:06:19 schrieb Heinz-Stefan Neumeyer: > Am Mittwoch, den...
Re: [EasyLinux-Ubuntu] zukünftiger__Standard-Desktop_bei_Debian?
Matthias Müller, 22.10.2014 23:19
Am Dienstag, 21. Oktober 2014 schrieb Thomas Lueck: > Am Dienstag, den 21.10.2014, 12:35 +0200 schrieb Wil...
Re: [EasyLinux-Ubuntu] [SOLVED] Qt5-Version von arora
Joachim Puttkammer, 22.10.2014 21:09
Am Mittwoch 22 Oktober 2014 schrieb Heinz-Stefan Neumeyer: > qupzilla ersetzt - und nichts "zappelt&q...
Re: [EasyLinux-Ubuntu] Spiele deinstallieren
Rainer, 22.10.2014 20:51
Hallo Uwe, Am Wed, 22 Oct 2014 19:40:56 +0200 schrieb Uwe Herrmuth : > > > > ... was mi...