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…

systemd-escape [OPTIONEN…] --stdin

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.

The command takes any number of strings on the command line, and will process them individually, one after another. It will output them separated by spaces to stdout. If --stdin is specified, strings are instead read from standard input, one per line, and the result for each input line is written on a separate output line.

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.

--stdin

Read strings from standard input, one per line, instead of from the command line. The line ending is not included in the string to escape or unescape, and the result for each line is written on a separate output line. This option may not be combined with command line strings.

Hinzugefügt in Version 262.

--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 Namensintanzen aus der Standardeingabe zu erzeugen:

$ printf '%s\n' 'Mein Container 1' 'container/III' | systemd-escape --stdin --template=systemd-nspawn@.service
systemd-nspawn@My\x20Container\x201.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 262.1