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: 59 Punkte bei 21 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: 80 Punkte bei 9 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: 11 Punkte bei 30 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

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Editor gesucht
Richard Kraut, 21.12.2014 18:39
Am Sonntag, den 21.12.2014, 16:50 +0100 schrieb Thomas Fischer: > Mit gedit werde ich irgendwie nicht warm...
Re: [EasyLinux-Ubuntu] Editor gesucht
Richard Kraut, 21.12.2014 18:28
Am Sonntag, den 21.12.2014, 16:57 +0100 schrieb Thomas Fischer: > Für XFCE als grafische Oberfläche? gvi...
Re: [EasyLinux-Ubuntu] Editor gesucht
Hartmut Haase, 21.12.2014 18:11
Hallo Thomasj > Der Editor soll mir nur eigenständig sagen, daß sich die geöffnete Datei > geändert...
Re: [EasyLinux-Ubuntu] Editor gesucht
Hartmut Haase, 21.12.2014 17:59
Hallo Thomas, > Notepad für Linux? ich glaube, das geht über wine. -- Viele Grüße, Hartmut Haase...
Re: [EasyLinux-Ubuntu] Editor gesucht
Thomas Fischer, 21.12.2014 17:28
Am 21.12.2014 um 17:00 schrieb Gerhard Blaschke: > Du suchst einen multiuser-fähigen Editor? Der Editor...