On Tue, Aug 02, 2022 at 11:22:31PM +0200, Uwe Kleine-König wrote:
Hallo Arno,
On 8/1/22 17:17, Arno wrote:
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.
..ooOO(Hmm, anno 2022 sind sh-Skripte in rc5.d/Sxx nicht mehr sooo normal, oder? :-)
Also bei mir... sind 34 Stück davon. Debian Bullseye. Was auch immer "normal" ist ;-)
(Jaja, ich geb' ja zu, dass ich den Installer ein wenig gut zureden musste, aber nichts richtig schwieriges).
Hierzu wurde ja schon einiges beigetragen. Mein Reflex wäre ein Skript, das die beschriebene Komplexität erreicht hat, in was anderem als plain Shell zu schreiben. Ich würde vermutlich Python bevorzugen, aber je nach Gusto gibt es ja viele weitere Möglichkeiten (Perl, Bash, Node, rust, C, ...).
Ich habe dazu eine Schwelle, die bei ungefähr (sehr ungefähr) 200 Zeilen liegt. Wobei ich erst versuche, das Skript kleiner zu machen :)
Erschwerend kommt hinzu, dass das ganze während des Bootens passiert, also nicht aus einer klassischen shell heraus.
Was ist der relevante Unterschied zwischen einem Skript, das von init aufgerufen wird und einer "klassischen Shell"?
Da hatten wir zwei Kandidaten: was anderes als die gewohnte Bash (mensch muss dann nach "bashisms" suchen) und eine andere Umgebung (environment variables). Zweiteres ist ganz lustig: debian-user sieht mindestens jeden Monat "warum funktioniert mein Cron-Job nicht?" einmal :)
lg