

systemd のサービスにおいて環境変数を設定するべく、 `man systemd.exec` を読んでいました。そこで、次のような説明がありました。

> Similar to `Environment=` but reads the environment variables from a text
> file. The text file should contain new-line-separated variable assignments.
> Empty lines, lines without an "=" separator, or lines starting with ; or #
> will be ignored, which may be used for commenting. A line ending with a
> backslash will be concatenated with the following one, allowing multiline
> variable definitions. The parser strips leading and trailing whitespace from
> the values of assignments, unless you use double quotes (").

しかし、例えば、この情報だけでは、 double quotes はどのようなシンタックスで取り扱われるのかが自明ではありません。また、関係しそうな
`man` ページを読んでいるのですが、この EnvironmentFile が想定するシンタックスが何であるのか、ひとまず発見できずにいます。

# 質問

  * systemd の EnvironmentFile の文法(syntax)は定義されていますか? 
    * 特に、 double quote まわりの処理であったりといった、特殊処理される記法についての仕様が知りたいと思っています。


CC BY-SA 4.0
2020-08-19T05:42:53.820
69685
2020-08-19T15:03:07.233
2020-08-19T05:44:08.220
3060
754
question
linux systemd
systemd の EnvironmentFile のシンタックスは?


systemd-245.7 / fedora 32 の systemd.exec(5) には例が載っていました。  
「"」の Syntax の説明は特にないのですが、何となくわかりませんでしょうか。

[code]

    If you need to assign a value containing spaces or the equals sign to a variable,
    use double quotes (") for the assignment.
    
    Example:
    
        Environment="VAR1=word1 word2" VAR2=word3 "VAR3=$word 5 6"
    
[/code]


CC BY-SA 4.0
2020-08-19T15:03:07.233
69697
2020-08-19T15:03:07.233
4603
69685
answer