opsi-script Variable in ShellScript

Antworten
anmith
Beiträge: 4
Registriert: 06 Mär 2026, 09:30

opsi-script Variable in ShellScript

Beitrag von anmith »

Hallo,

ich bin gerade dabei, erste eigene opsi-Pakete zu bauen und hänge an einer Stelle, zu der ich in der Doku nichts gefunden habe:

Ist es möglich, Variablen aus dem opsi-script in dem Bereich ShellScript zu verwenden und falls ja, wie?

Konktret habe ich in dem control-File ein Select, in dem ein Wert ausgewählt werden kann. Diesen lese ich dann mit

Code: Alles auswählen

set $update_dow$ = GetProductProperty("update_dow","mon")
aus und würde ihn gerne später in einem ShellScript verwenden:

Code: Alles auswählen

[ShellScript_unattended_upgrades]
...
cat <<EOM > /etc/systemd/system/apt-daily.timer.d/override.conf
[Timer]
OnCalendar=
OnCalendar=$update_dow$ 04:00
RandomizedDelaySec=300
EOM
...
So funktioniert es leider (logischerweise) nicht, denn woher soll das ShellScript wissen, daß es hier keine $-Skript-Variable ist, sondern der Wert aus dem opsi-script kommen soll.

Kann mir da jemand weiterhelfen?
Benutzeravatar
j.schneider
uib-Team
Beiträge: 2163
Registriert: 29 Mai 2008, 15:14

Re: opsi-script Variable in ShellScript

Beitrag von j.schneider »

Hallo,

doch, das sollte genau so funktionieren.
In sekundären Sektion (ShellScript_unattended_upgrades ist eine sekundäre Sektion), werden definierte opsi-script-Variablen vor der Ausführung durch ihren Wert ersetzt.

Siehe:

https://docs.opsi.org/opsi-docs-de/4.3/ ... n-sections

Grüße
Jan Schneider


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


anmith
Beiträge: 4
Registriert: 06 Mär 2026, 09:30

Re: opsi-script Variable in ShellScript

Beitrag von anmith »

Hallo,

dann habe ich wohl (noch) ein anderes Problem. Obiger Befehl erzeugt eine 0-Byte-Datei und im Log ist die Fehlermeldung

Code: Alles auswählen

/tmp/_opsiscript_0Z3ua70AOw.cmd: Zeile 5: Warnung: Das in der Zeile 5 beginnende Here-Dokument geht bis zum Datei
ende (erwartet wird »EOM«)
drin. Von daher hatte ich im ersten Ansatz darauf getippt, daß mit dem "$" irgendwas schief läuft.

Das temporäre Skript ist leider nicht mehr da zum Betrachten.
Benutzeravatar
j.schneider
uib-Team
Beiträge: 2163
Registriert: 29 Mai 2008, 15:14

Re: opsi-script Variable in ShellScript

Beitrag von j.schneider »

Ich denke opsi-script interpretiert [Timer] als beginn einer neuen Sektion.

Das könnte ein Workaround sein:

Code: Alles auswählen

echo "[Timer]" > /etc/systemd/system/apt-daily.timer.d/override.conf
cat <<EOM >> /etc/systemd/system/apt-daily.timer.d/override.conf
OnCalendar=
OnCalendar=$update_dow$ 04:00
RandomizedDelaySec=300
EOM


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


anmith
Beiträge: 4
Registriert: 06 Mär 2026, 09:30

Re: opsi-script Variable in ShellScript

Beitrag von anmith »

Ich hatte zwischenzeitlich noch

Code: Alles auswählen

echo "
[Timer]
OnCalendar=
OnCalendar=$update_dow$ 04:00
RandomizedDelaySec=300
" > /etc/systemd/system/apt-daily.timer.d/override.conf
versucht, was dann zu einem

Code: Alles auswählen

/tmp/_opsiscript_ujF37sP5W8.cmd: Zeile 5: Dateiende beim Suchen nach »"« erreicht.
führte.

Mit Ihrem Workaround funktioniert es aber - vielen Dank!
SirTux
Beiträge: 621
Registriert: 05 Feb 2011, 18:37

Re: opsi-script Variable in ShellScript

Beitrag von SirTux »

Wir machen sowas mit Patches-Sektionen. Ist IMO eleganter als das ShellScript-Geraffel und erspart einem das Escaping und ähnliche Geschichten. Das haben wir aber früher auch so gemacht. :shock:

https://docs.opsi.org/opsi-docs-de/4.3/ ... pt-patches
anmith
Beiträge: 4
Registriert: 06 Mär 2026, 09:30

Re: opsi-script Variable in ShellScript

Beitrag von anmith »

SirTux hat geschrieben: 06 Mär 2026, 16:02 Wir machen sowas mit Patches-Sektionen.
Danke für den Tip, werde ich mir mal ansehen!
Antworten