Hoi,
auch wenn ich kein Tux bin, sondern ein Teufel ;-)
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.
Klar geht das. Trap ist dein Freund:
http://www.mcsr.olemiss.edu/unixhelp/scrpt/scrpt2.9.html
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
http://www.mcsr.olemiss.edu/unixhelp/scrpt/ :-)
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.
Der Exit-Status des zuletzt ausgefuehrten Befehls steht in $?.
Siehe auch http://www.mcsr.olemiss.edu/unixhelp/scrpt/scrpt2.2.2.html.
Gruesse,
CK