summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorFrederic Crozat <fcrozat@suse.com>2013-01-24 18:06:00 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-01-24 19:36:47 -0500
commit0ae9c92a933869d5695396d067aa555dacbbba08 (patch)
treef1af2ae5b09ade8590f269c65e6afa9413c731a6 /man
parentaa7cb2098302d45c8768ca08bf1e433a19aa46b9 (diff)
man: systemd.exec - explicit Environment assignment
Hi all, while working on another bug, I discovered the "strange" way systemd is parsing Environment= in .service and thought it was worth documenting (because I don't expect people to find this syntax by themselves unless they read the parsing code ;) Be more verbose about using space in Environment field and not using value of other variables Fixes https://bugzilla.redhat.com/show_bug.cgi?id=840260 [zj: expand and reformat the example a bit]
Diffstat (limited to 'man')
-rw-r--r--man/systemd.exec.xml19
1 files changed, 17 insertions, 2 deletions
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index 8a22ac0138..a0fca5996b 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -286,9 +286,24 @@
empty string is assigned to this
option the list of environment
variables is reset, all prior
- assignments have no effect. See
+ assignments have no effect.
+ Variable expansion is not performed
+ inside the strings, and $ has no special
+ meaning.
+ If you need to assign a value containing spaces
+ to a variable, use double quotes (")
+ for the assignment.</para>
+
+ <para>Example:
+ <programlisting>Environment="VAR1=word1 word2" VAR2=word3 "VAR3=word 5 6"</programlisting>
+ gives three variables <literal>VAR1</literal>,
+ <literal>VAR2</literal>, <literal>VAR3</literal>.
+ </para>
+
+ <para>
+ See
<citerefentry><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>
- for details.</para></listitem>
+ for details about environment variables.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>EnvironmentFile=</varname></term>