Andreas Schigold: Linux-Shell (bash) Funktionen und Signale?

Beitrag lesen

Hallo an alle Tuxe da draußen,

habe mal ein kleines Anliegen. Ich möchte folgenden Ablauf realisieren:

setze Signal TERM auf Slot goodBye

while(true) {
  Mache dies, das und jenes ....
  ruh dich kurz aus ;-)
}
Slotfunction goodBye() {
  mach noch was bestimmtes
  exit(0);
}

Aufgrund dessen, was ich so in der while-Schleife und vor dem Beenden alles tun möchte halte ich ein Shell-Script für sehr geeignet. Jedoch habe ich keine Ahnung, ob ich in der Shell auch mit Funktionen und Signalen/Slots arbeiten kann und wenn ja, wie.

Weiß da jemand was? Wenn es nicht geht, dann ist das nur halb so schlimm. Ich kann den gleichen Ablauf auch in C realisieren, wäre dort nur ein wenig aufwendiger. Da weiß ich aber, wie das mit den Signalen und Slots funktioniert.
Ein Link auf ein gutes Shell-Tutorial oder ein Hinweis auf ein empfehlenswertes Buch zum Thema Shell unter Unix/Linux würde mich ebenfalls freuen. Auch die Nennung eines anderen Forums zu diesem Thema könnte helfen

Noch eine zweite Frage. Den exit-Status zu einem Programm kann man ja so auswerten:

if myProgram then
  echo "execution of myProgram successed"
else
  echo "execution of myProgram failed"
fi
Aber bisher bin ich daran gescheitert, mal den exit-Wert quasi als Wert zu fassen, also in einer Variablen zu speichern oder mit bestimmten Werten zu vergleichen, also sowas:

SUCCESS=myProgram // an alle nicht so Versierten, die trotzdem helfen wollen:
                  // beim belegen der Variablen läßt man meines Wissens nach das $ weg
if $SUCCESS = 0 then echo "Ausführung erfolgreich"
if $SUCCESS = 1 then echo "Ausführung ist aus diesem Grund gescheitert"
if $SUCCESS = 2 then echo "Ausführung ist aus jenem Grund gescheitert"

Geht das überhaupt und wenn ja wie? Muß man da einen Error-Status abfragen? So, wie es dasteht, geht es jedenfalls nicht.

Vielen Dank und tuxige Grüße auch an alle, die mit Winzigweichen Fensters eXPerimentieren: Früher oder später kriegt der Tux alle ;-)

Tschaui
Andreas

PS: Jetzt verwirrt? Erstmal 'ne Abwechslung gefällig? http://schigold.de/spiel/