Shell-Scribt die 2

a=`Xdialog --title "Serversteuerung" --stdout --menu "Servermenu" 0 0 6 "apache2" "WWWserver" \
"mysql" "DBserver" `
b=`Xdialog --title "Serversteuerung" --stdout --menu "action" 0 0 6 "start" "" "stop" "" "status" ""`
clear
c=`/etc/init.d/$a $b`
Xdialog --title "Serversteuerung" --msgbox $c 20 20

Klappt ganz gut,aber wenn man bei Apache2 status wählt kommt einfach nur
checking als antwort, aber weder OK, noch unused.

2: Wie bekomme ich ihn dazu am ende der Datei, an den anfang zu springen.
Ala: GOTO ZEILE 1
Gibts so was bei bash???

Klappt ganz gut,aber wenn man bei Apache2 status wählt kommt
einfach nur checking als antwort, aber weder OK, noch
unused.

Wie sieht denn die Ausgabe von

 # /etc/init.d/apache2 status

bei Deiner streng geheimen Distribution aus?

2: Wie bekomme ich ihn dazu am ende der Datei, an den anfang
zu springen.
Ala: GOTO ZEILE 1
Gibts so was bei bash???

Hm, wirklich gute Frage… ich wuerde ein

 while true; do echo "GOTO ist doof."; done

nehmen.

HTH,
Gruss vom Frank.

Also, auf die eingabe von

/etc/init.d/mysql status

folgt:

Checking for service MySQL: unused

Das selbe gilt für apache2

In meinem X Diaglog Fenster steht aber nur „cheking“
Der Rest ist wegelassen/fehlt.
Also „for service MySQL:unused“ fehlt in der Ausgabe.
Frage: warum???/Wie kann ich das korigieren.

  1. Frage: wie schaffe ich es, das das skribt wieder an den Anfang springt.
    (Kenn mich nicht gut aus mit shell-Programierung-Genauer gesagt: Das Programm ist mein erstes shell-Programm)
    Also bei .bat dateien hätte man das so gemacht:

    1. :start
    2. [Eigentliches Skribt]


    n. GOTO start

Wie setze ich das mit bash/shell um? Wie gesagt: ich bin absolzuter neuling!

while true; do echo "GOTO ist doof."; done

hilft mir nicht weiter…
das einzige was ich daraus erkennen kan ist, das auf der konsole
GOTO ist doof
stehen wird.

Also, auf die eingabe von

/etc/init.d/mysql status

folgt:

Checking for service MySQL: unused

Aja… jetzt ist der Groschen gefallen. Denke ueber das Ergebnis von

Xdialog --title "blubber" --msgbox Ich bin ein Text mit Leerzeichen 20 20

und

Xdialog --title "laber" --msgbox "Ich bin ein Text mit Leerzeichen" 20 20

nach.

  1. Frage: wie schaffe ich es, das das skribt wieder an den
    Anfang springt.
    Also bei .bat dateien hätte man das so gemacht:
> 1. :start  
> 2. [Eigentliches Skribt]  
> 3.  
> ...  
> n. GOTO start

GOTO ist doof, sowas macht man nicht. Die Shell kann Funktionen und Schleifen. Arbeite damit. Wie waere z.~B.:

#!/bin/sh
while true
do
 # Eigentliches Skript
 :
done

(Der : ist nur ein Platzhalter, weil es ohne Schleifenkoerper nicht funktioniert. Kannst Du weglassen.)

das einzige was ich daraus erkennen kan ist, das auf der
konsole
GOTO ist doof
stehen wird.

Ja, und das in einer Endlosschleife. Wolltest Du das nicht?

HTH,
Gruss vom Frank.