Funktion verwende ich so:
function function_name () {
Befehle.....
}
Was ist der Unterschied wenn die () weggelassen werden?
Die runden Klammern kann man weglassen, wenn man will.
Eigentlich müssten funktionen sich auch so einleiten lasen
funtionsname ()
{
foo
}
Ist für faule Leute. Ich habe mir angewöhnt immer function davorzuschreiben. Das macht den Code übersichtlicher.
Und vorm aufrufen der Funktionen kommt init, was bewirkt das genau, da ich Fuktionen immer nur mit funktion_name aufrufe, gegebenenfalls noch vorher einlese falls die Funktion in einer externen Datei liegt.
***edit*** hab die Funktion mit dem Namen init übersehen am Anfang
Aber was diese Funktion bewirkt ist mir trotzdem unklar keinahn
Die Funktion init verwendet man um an anfang irgendwelche Variablen festzulegen, Tests zu machen usw.
Ist eine angewohnheit. Wenn du öfters mit Shell-Skripten arbeitest, wirst du das in dem ein oder anderen Scripten sehen.
Achja ein kleiner Fehler ist glaub drin, falls ich mich nicht irre, müsste es bei 5 Menüpunkten "$option" -gt 5 heissen xD
Jo, stimmt. Es gibt 5 Menüpunkte. Also müsste es heißen größer oder gleich 6, dann fortfahren. Also nicht -gt sondern -ge
|
Source code
|
1
2
|
INTEGER1 -ge INTEGER2
INTEGER1 is greater than or equal to INTEGER2
|
P.S Hast du sowas immer ausm stehgreif oder schlägst das nach, ausm stehgreif wär ja unheimlich xD
Die meisten Befehle kenne ich, die ich so eingesetzt habe. Manchmal muss ich auch nachschlagen. Z.B. wenn ich mal länger nichts mehr gemacht habe oder Befehle, die ich selten verwende. Meist hilft aber auch die Konsole. man, info, --help sind die besten Helfer. Der Befehl Trap kann Signale abfangen. So kannst du z.B. verhindern, dass ein User versucht mit STRG+C das Script zu beenden. Damit kannst du dann z.B. auch eine Funktion aufrufen, die dann irgendwas vorbereitet, wie z.B. temporäre Dateien löscht und dann das Programm sauber mit exit beendet und ggf. noch einen Rückgabewert mit Return liefert. Ist dann besonders interessant, wenn du das Script in einem anderen Script aufrufen willst und damit verhindern willst, dass das Parant-Script irgendwelche Sachen ausführt, obwohl das Child-Script abgebrochen wurde.
Ganz sinvoll ist noch der Befehl source. Damit kannst du Textdateien erstellen (ASCII, LF), die dann mittels source einfach in den Quellcode des Shellscriptes geladen werden. Das verwende ich z.B. in meinem Start/Stop/Restart-Script mit Konfigurationsdateien: http://sourceserver.info/wiki/installation/dedicated_server_standalone/script">wiki/installation/dedicated_server_standalone/script<
In den Konfigurationsdateien werden einfach irgendwelche Variablen gesetzt.