# Shell Problem ::: unexpected end of file



## blck (13. Januar 2007)

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


----------



## deepthroat (15. Januar 2007)

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 !=.


```
if [ $lied != ".." ]; then
  echo ...
elif [ $lied == "..." ]; then
  echo ...
else
  echo ...
fi
```
Gruß


----------

