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

systemd-escape - 轉義與還原單元名稱中的特殊字元

systemd-escape [OPTIONS...] [STRING...]

描述

systemd-escape 可用於 轉義單元名稱中的特殊字元, 也可用於還原操作。

可以在命令列上指定任意數量的字串, 表示依次分別處理它們。 處理結果將使用空格分隔。

預設的行為是轉義操作, 但若使用了 --unescape 選項, 則表示反向的還原操作。如果使用了 --mangle 選項, 則會使用一種特殊的轉義規則, 也就是假定字串已經經過了轉義, 僅轉義那些顯而易見必須轉義的字元。

選項

能夠識別的命令列選項如下:

--suffix=

在輸出結果尾部新增一個單元型別字尾。 必須是 ".service" 或 ".mount" 這樣實際有效的字尾。不能與 --template=, --unescape , --mangle 選項一起使用。

--template=

將轉義之後的結果插入一個單元名稱模版。 接收一個類似 foobar@.service 這樣的模版名。 不能與 --suffix=, --unescape, --mangle 選項一起使用。

--path, -p

在轉義或還原字串時, 假定其是一個檔案系統路徑。 這將會對字串頭的 "/" 字元進行特殊處理。

--unescape

將已經轉義過的字串還原。 不能與 --suffix=, --template=, --mangle 選項一起使用。

--mangle

--escape 類似, 但是僅轉義那些顯而易見必須轉義的字元, 並且允許自動新增適當的單元型別字尾。 不能與 --suffix=, --template=, --unescape 選項一起使用。

-h, --help

顯示簡短的幫助資訊並退出。

--version

顯示簡短的版本資訊並退出。

例子

轉義一個字串

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

還原一個字串

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

為一個路徑生成對應的單元名

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

從三個字串派生三個對應的例項單元名

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

退出狀態

返回值為 0 表示成功, 非零返回值表示失敗程式碼。

參見

systemd(1), systemctl(1)

本頁面中文版由中文 man 手冊頁計劃提供。

翻譯人員:金步國
金步國作品集:http://www.jinbuguo.com
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh

systemd 231