Scroll to navigation

SYSTEMD-ESCAPE(1) systemd-escape SYSTEMD-ESCAPE(1)

BEZEICHNUNG

systemd-escape - Zeichenketten für die Verwendung in Systemd-Unit-Namen maskieren

ÜBERSICHT

systemd-escape [OPTIONEN…] [ZEICHENKETTE…]

BESCHREIBUNG

systemd-escape kann dazu verwandt werden, Zeichenketten für die Aufnahme in Systemd-Unit-Namen zu maskieren. Der Befehl kann zum Maskieren und zur Entfernung der Maskierung von Zeichenketten verwandt werden.

Der Befehl akzeptiert auf der Befehlszeile eine beliebige Anzahl von Zeichenketten und verarbeitet diese individuell, eine nach der anderen. Es wird sie durch Leerzeichen getrennt auf der Standardausgabe ausgeben.

Standardmäßig wird dieser Befehl übergebene Zeichenketten maskieren. Falls --unescape übergeben wird, dann wird die umgedrehte Aktion angewandt. Falls --mangle angegeben ist, wird stattdessen ein spezieller Maskiermodus angewandt, der annimmt, dass eine Zeichenkette bereits maskiert ist, aber alles maskiert, was offensichtlich noch nicht maskiert aussieht.

Für Details zu den Maskier- und Demaskier-Algorithmen siehe den relevanten Abschnitt in systemd.unit(5).

OPTIONEN

Die folgenden Optionen werden verstanden:

--suffix=

Hängt die angegebene Unit-Typ-Endung an die maskierte Zeichenkette an. Akzeptiert eine der von Systemd unterstützen Unit-Typen, wie »service« oder »mount«. Darf nicht zusammen mit --template=, --unescape oder --mangle verwandt werden.

Hinzugefügt in Version 216.

--template=

Fügt die geschützte Zeichenkette in eine Unit-Namensvorlage ein. Akzeptiert eine Unit-Namensvorlage wie foobar@.service. Erwartet bei --unescape einen instanziierten Unit-Namen für die Vorlage und löst nur den Instanzenanteil aus und demaskiert ihn. Darf nicht mit --suffix=, --instance oder --mangle zusammen verwandt werden.

Hinzugefügt in Version 216.

--path, -p

Beim Maskieren und Demaskieren einer Zeichenkette wird angenommen, dass sie sich auf einen Dateisystempfad bezieht. Dies vereinfacht den Pfad (führende, anhängende und doppelte »/«-Zeichen werden entfernt, nicht Pfad-relevante ».«-Komponenten werden entfernt und für absolute Pfade werden führende »..«-Komponenten entfernt). Nach der Vereinfachung darf der Pfad keine »..« enthalten.

Dies ist insbesondere für die Generierung von Zeichenketten geeignet, die für das Demaskieren mit dem »%f«-Kennzeichner in Unit-Dateien geeignet sind, siehe systemd.unit(5).

Hinzugefügt in Version 216.

--unescape, -u

Nimmt die Maskierung zurück, anstatt die angegebenen Zeichenketten zu maskieren und invertiert daher die Aktion. Darf nicht zusammen mit --suffix= oder --mangle verwandt werden.

Hinzugefügt in Version 216.

--mangle, -m

Ähnlich --escape, maskiert aber nur Zeichen, die offensichtlich noch nicht maskiert sind und hängt möglicherweise automatisch eine geeignete Unit-Typ-Endung an die Zeichenkette an. Darf nicht zusammen mit --suffix=, --template= oder --unescape verwandt werden.

Hinzugefügt in Version 216.

--instance

Demaskiert und gibt bei --unescape nur den Instanzenanteil der instanziierten Unit-Namensvorlage aus. Im Falle von nicht instanziierten Vorlagen wie ssh@.service oder Nichtvorlagennamen wie ssh.service führt dies zu einem Fehler. Muss zusammen mit --unescape und darf nicht mit --template zusammen verwandt werden.

Hinzugefügt in Version 240.

-h, --help

Zeigt einen kurzen Hilfetext an und beendet das Programm.

--version

Zeigt eine kurze Versionszeichenkette an und beendet das Programm.

BEISPIELE

Um eine einzelne Zeichenkette zu maskieren:

$ systemd-escape 'Hallöchen, Meister'
Hall\xc3\xb6chen\x2c\x20Meister

Um die Maskierung einer einzelnen Zeichenktte zurückzunehmen:

$ systemd-escape -u 'Hall\xc3\xb6chen\x2c\x20Meister'
Hallöchen, Meister

Um eine Einhänge-Unit für einen Pfad zu generieren:

$ systemd-escape -p --suffix=mount "/tmp//waldi/foobar/"
tmp-waldi-foobar.mount

Um Namensintanzen von drei Zeichenketten zu erzeugen:

$ systemd-escape --template=systemd-nspawn@.service 'Mein Container 1' 'containerb' 'container/III'
systemd-nspawn@Mein\x20Container\x201.service systemd-nspawn@containerb.service systemd-nspawn@container-III.service

Um den Instanzenanteil einer instanziierten Unit herauszulösen:

$ systemd-escape -u --instance 'systemd-nspawn@Mein\x20Container\x201.service'
Mein Container 1

Um den Instanzenanteil einer bestimmten Vorlage herauszulösen:

$ systemd-escape -u --template=systemd-nspawn@.service 'systemd-nspawn@Mein\x20Container\x201.service'
Mein Container 1

EXIT-STATUS

Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null.

SIEHE AUCH

systemd(1), systemd.unit(5), systemctl(1)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

systemd 257~rc3