78 lines
3.6 KiB
Diff
78 lines
3.6 KiB
Diff
From 5d9a2698e74eefc20ea7cbbaeaffb566e398f2ba Mon Sep 17 00:00:00 2001
|
||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||
Date: Tue, 7 Oct 2014 09:19:41 -0400
|
||
Subject: [PATCH] man: document stripping of quotes
|
||
|
||
---
|
||
man/systemd.service.xml | 50 ++++++++++++++++++++++++++++++++-----------------
|
||
1 file changed, 33 insertions(+), 17 deletions(-)
|
||
|
||
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
|
||
index dbc82edbd4..50ff2f5bd5 100644
|
||
--- a/man/systemd.service.xml
|
||
+++ b/man/systemd.service.xml
|
||
@@ -1215,13 +1215,39 @@
|
||
contains, resulting in a single argument. Use
|
||
<literal>$FOO</literal> as a separate word on the
|
||
command line, in which case it will be replaced by the
|
||
- value of the environment variable split at whitespace,
|
||
- resulting in zero or more arguments. To pass a literal
|
||
- dollar sign, use <literal>$$</literal>. Variables
|
||
- whose value is not known at expansion time are treated
|
||
- as empty strings. Note that the first argument
|
||
- (i.e. the program to execute) may not be a
|
||
- variable.</para>
|
||
+ value of the environment variable split at whitespace
|
||
+ resulting in zero or more arguments. For this type of
|
||
+ expansion, quotes and respected when splitting into
|
||
+ words, and afterwards removed.</para>
|
||
+
|
||
+ <para>Example:</para>
|
||
+
|
||
+ <programlisting>Environment="ONE=one" 'TWO=two two'
|
||
+ExecStart=/bin/echo $ONE $TWO ${TWO}</programlisting>
|
||
+
|
||
+ <para>This will execute <command>/bin/echo</command>
|
||
+ with four arguments: <literal>one</literal>,
|
||
+ <literal>two</literal>, <literal>two</literal>, and
|
||
+ <literal>two two</literal>.</para>
|
||
+
|
||
+ <para>Example:</para>
|
||
+ <programlisting>Environment=ONE='one' "TWO='two two' too" THREE=
|
||
+ExecStart=/bin/echo ${ONE} ${TWO} ${THREE}
|
||
+ExecStart=/bin/echo $ONE $TWO $THREE</programlisting>
|
||
+ <para>This results in <filename>echo</filename> being
|
||
+ called twice, the first time with arguments
|
||
+ <literal>'one'</literal>,
|
||
+ <literal>'two two' too</literal>, <literal></literal>,
|
||
+ and the second time with arguments
|
||
+ <literal>one</literal>, <literal>two two</literal>,
|
||
+ <literal>too</literal>.
|
||
+ </para>
|
||
+
|
||
+ <para>To pass a literal dollar sign, use
|
||
+ <literal>$$</literal>. Variables whose value is not
|
||
+ known at expansion time are treated as empty
|
||
+ strings. Note that the first argument (i.e. the
|
||
+ program to execute) may not be a variable.</para>
|
||
|
||
<para>Variables to be used in this fashion may be
|
||
defined through <varname>Environment=</varname> and
|
||
@@ -1259,16 +1285,6 @@
|
||
<literal>>/dev/null</literal>,
|
||
<literal>&</literal>, <literal>;</literal>, and
|
||
<literal>/bin/ls</literal>.</para>
|
||
-
|
||
- <para>Example:</para>
|
||
-
|
||
- <programlisting>Environment="ONE=one" 'TWO=two two'
|
||
-ExecStart=/bin/echo $ONE $TWO ${TWO}</programlisting>
|
||
-
|
||
- <para>This will execute <command>/bin/echo</command>
|
||
- with four arguments: <literal>one</literal>,
|
||
- <literal>two</literal>, <literal>two</literal>, and
|
||
- <literal>two two</literal>.</para>
|
||
</refsect1>
|
||
|
||
<refsect1>
|