PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wo ist hier der Fehler in "while"?



@|<0
23-03-2005, 16:45
Hi,
kann mir wer sagen wo hier der Fehler liegt?


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:


/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

Joghurt
23-03-2005, 16:56
84 while true; do
88 case $dienst instatt "true" kannst du auch ":" schreiben:

while :; do

lagalopex
23-03-2005, 17:00
in zeile 88 solls wohl $dienst heißen... und entfern mal zeile 98...

@|<0
23-03-2005, 17:03
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

Joghurt
23-03-2005, 17:09
Hat die änderung in Zeile 84 nun geholfen oder nicht?

Edit: in Zeile 83 musst du auch noch die runden durch Eckige Klammern ersetzen.

if [ "$ar" = "y" ]; then

@|<0
23-03-2005, 18:13
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

Joghurt
23-03-2005, 18:31
Bei mir läuft der Skriptauszug mit den Änderungen problemlos. Evtl. ist vorher noch ein Fehler.

@|<0
23-03-2005, 18:46
Bei mir läuft der Skriptauszug mit den Änderungen problemlos. Evtl. ist vorher noch ein Fehler.
Kommt bei dir ohne Änderungen die gleiche Fehlermeldung?

Joghurt
25-03-2005, 00:05
Unter der Vorraussetzung, dass ar als y definiert ist, ja. Mit meinen Änderungen geht es dann einwandfrei.