Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Wo ist hier der Fehler in "while"?

  1. #1
    Registrierter Benutzer
    Registriert seit
    31.01.2005
    Beiträge
    15

    Wo ist hier der Fehler in "while"?

    Hi,
    kann mir wer sagen wo hier der Fehler liegt?
    Code:
         83 if ( ${ar} = y ) ; then
         84 while true
         85 echo "Möchten sie einen Dienst starten? [apache2|proftpd|ssh]"
         86 echo "Dienst: \n"
         87 read dienst
         88 case dienst in
         89 apache)
         90 /etc/init.d/apache2 start && echo apache2 started && break
         91 ;;
         92 proftpd)
         93 /etc/init.d/proftpd start && echo proFTPd started && break
         94 ;;
         95 ssh)
         96 /etc/init.d/ssh start && echo SSHd started && break
         97 ;;
         98 *)
         99 esac
        100 done
        101 fi
        102 exit 0
    Bei außführung kommt:
    Code:
    /usr/sbin/checkserv: line 100: syntax error near unexpected token `done'
    /usr/sbin/checkserv: line 100: `done'
    Ich seh da keinen Fehler!
    Plz help

    Thx

    mfg

  2. #2
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Code:
    84 while true; do
    88 case $dienst in
    statt "true" kannst du auch ":" schreiben:
    Code:
    while :; do

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.02.2005
    Beiträge
    32
    in zeile 88 solls wohl $dienst heißen... und entfern mal zeile 98...

  4. #4
    Registrierter Benutzer
    Registriert seit
    31.01.2005
    Beiträge
    15
    Zitat Zitat von lagalopex
    in zeile 88 solls wohl $dienst heißen... und entfern mal zeile 98...
    Stimmt, hilft aber leider net... Hättest du noch ein Vorschlag?

    statt "true" kannst du auch ":" schreiben:
    Ja, aber mach ich net so gern, schadet finde ich der übersichtlichkeit.

    mfg @|<0
    Geändert von @|<0 (23-03-2005 um 17:05 Uhr)

  5. #5
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Hat die änderung in Zeile 84 nun geholfen oder nicht?

    Edit: in Zeile 83 musst du auch noch die runden durch Eckige Klammern ersetzen.
    Code:
    if [ "$ar" = "y" ]; then
    Geändert von Joghurt (23-03-2005 um 17:14 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    31.01.2005
    Beiträge
    15
    Ne, hab ich alles befolgt, aber hilft nichts.
    Müsste der Fehler nicht auch nahe Zeile 100 sein?
    Das mit den eckicgen kalmmern hat ich auch noch gemerkt, half aber auch net.

    mfg @|<0

  7. #7
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Bei mir läuft der Skriptauszug mit den Änderungen problemlos. Evtl. ist vorher noch ein Fehler.

  8. #8
    Registrierter Benutzer
    Registriert seit
    31.01.2005
    Beiträge
    15
    Zitat Zitat von Joghurt
    Bei mir läuft der Skriptauszug mit den Änderungen problemlos. Evtl. ist vorher noch ein Fehler.
    Kommt bei dir ohne Änderungen die gleiche Fehlermeldung?

  9. #9
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Unter der Vorraussetzung, dass ar als y definiert ist, ja. Mit meinen Änderungen geht es dann einwandfrei.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •