Hallo Arno,
Das hängt von deiner verwendeten Shell ab.
In der Bash gibt es das "source"-Kommando dafür. https://devconnected.com/source-command-on-linux-explained/
Viele Grüße, Stefan.
Gesendet: Montag, 01. August 2022 um 17:17 Uhr Von: "Arno" epsi@gmx.de An: flug@lug-freiburg.de Betreff: shell scripte und Funktionen/Gliederung
Beim booten läuft bei mir ein script. Gestartet aus einem rc5.d/Sxx. Da wird z.B. eine Textdatei aus dem System geparst und daraufhin bestimmte Variablen und auch Pfade gesetzt. Diese werden dann im weitere Verlauf genutzt und zu verschiedenen Aktivitäten führen. Soweit so normal.
Jetzt ist mein script schon etwas länglich geworden und es droht die Übersicht verloren zu gehen. Also hab ich es in Funktionen aufgeteilt. Damit wird das script aber nicht kürzer. Das ganze möchte ich etwas wartungsfreundlicher und lesbarer gestalten. Ideal wäre ein einem Startscript die Variablen/Pfade zu setzen und dann bestimmte Unterscripts zu starten. Was aber dabei ein Problem zu sein scheint: a) die Variablen vom Startscript übernehmen b) Variablen im Idealfall auch noch von Unterscript zu Unterscript weiterreichen
Erschwerend kommt hinzu, dass das ganze während des Bootens passiert, also nicht aus einer klassischen shell heraus. Ich meine, das nicht mal a) da so ohne weiteres geht. Oder gibt es da Tricks? Ich hab nicht so viel sinnvolles dazu gefunden oder ich hab nicht die richtigen keywords dazu.
Zusatzfrage: Wenn ein Script wie meines gerade aus Funktionen besteht: Am Ende der Funktionsdefinitionen werden die aufgerufen. Kann man z.B. zum Testen, diese Funktionen (aus einer echten) Shell auch einzeln aufrufen? Also nur einzelne Funktionen um das Step by Step zu testen. Wie gesagt, die Pfade/Variablen müssen gesetzt bleiben, sonst ist es sinnlos. Bei läuft dann immer nur das ganze Script... Wenn ich das richtig verstanden hab, kann man nur dann einzelne Funktionen eines scripts aufrufen, wenn es kein "main" gibt, also sozusagen nur Funktionen. Ist das wahr?
Schöne Woche, Arno