Shell Problem ::: unexpected end of file

blck

Mitglied
Hallo,

ich bin vööliger neuling auf dem Gebiet der Shell programmierung.... und habe ein Problem:
wenn ich ein von mir geschriebenes Programm starte , was eig. nur ne if Abfrage beinhaltet.

Hier ma der Programmcode (Wäre nett wenn ihr mir den Fehler nennen könntet. Ich weiß nur soviel: er liegt in der if- Abfrage:

echo off
echo ""
echo "Interpret?"
read name
echo""
echo "Album"
read album
echo""
echo "Titel/Alle"
read lied
echo""
if [$lied =="..."]; then
echo "Das geht nicht"
else if [$lied !== "..." then
echo "wird geladen"


Danke schon mal im Voraus blck
 
Hi.

Eine if-Anweisung wird immer mit einem fi abgeschlossen. Das steht klar und deutlich in der Manpage ('man bash') und auch in der Kurzhilfe ('help if').

Außerdem müssen zwischen den eckigen Klammern Leerzeichen sein.

Man kann deinen Code auch deutlich besser lesen wenn du ihn in die entsprechenden Code-Tags wie z.B. [bash]...[/bash] einschließt.

Die echo off Anweisung funktioniert übrigens nicht so wie in DOS und druckt einfach das Wort "off" mit einer Zeilenschaltung.

Der ist-ungleich-Operator ist nicht !== sondern !=.

Bash:
if [ $lied != ".." ]; then
  echo ...
elif [ $lied == "..." ]; then
  echo ...
else
  echo ...
fi
Gruß
 
Zurück