summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-10-23 15:47:33 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-10-23 15:49:03 +0200
commit0dc9fd56a53ef833fdc5b9b81bc958e7c3dd41a4 (patch)
tree1f41c34d362d2a60cc047e76af7a0f643efa41ae
parentRevert "basic/env-util: (mostly) follow POSIX for what variable names are all... (diff)
downloadsystemd-0dc9fd56a53ef833fdc5b9b81bc958e7c3dd41a4.tar.xz
systemd-0dc9fd56a53ef833fdc5b9b81bc958e7c3dd41a4.zip
man: document what variables are allowed
Diffstat (limited to '')
-rw-r--r--man/systemctl.xml25
-rw-r--r--man/systemd.exec.xml19
2 files changed, 28 insertions, 16 deletions
diff --git a/man/systemctl.xml b/man/systemctl.xml
index 61f8d9c9fe..e67469ee46 100644
--- a/man/systemctl.xml
+++ b/man/systemctl.xml
@@ -1060,6 +1060,14 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
<refsect2>
<title>Environment Commands</title>
+ <para><command>systemd</command> supports an environment block that is passed to processes the manager
+ spawns. The names of the variables can contain ASCII letters, digits, and the underscore
+ character. Variable names cannot be empty or start with a digit. In variable values, most characters
+ are allowed, but non-printable characters are currently rejected. The total length of the environment
+ block is limited to <constant>_SC_ARG_MAX</constant> value defined by
+ <citerefentry project='man-pages'><refentrytitle>sysconf</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ </para>
+
<variablelist>
<varlistentry>
<term><command>show-environment</command></term>
@@ -1091,8 +1099,9 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
<term><command>set-environment <replaceable>VARIABLE=VALUE</replaceable>…</command></term>
<listitem>
- <para>Set one or more systemd manager environment variables,
- as specified on the command line.</para>
+ <para>Set one or more systemd manager environment variables, as specified on the command
+ line. This command will fail if variable names and values do not conform to the rules listed
+ above.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -1113,13 +1122,11 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
</term>
<listitem>
- <para>Import all, one or more environment variables set on
- the client into the systemd manager environment block. If
- no arguments are passed, the entire environment block is
- imported. Otherwise, a list of one or more environment
- variable names should be passed, whose client-side values
- are then imported into the manager's environment
- block.</para>
+ <para>Import all, one or more environment variables set on the client into the systemd manager
+ environment block. If no arguments are passed, the entire environment block is imported.
+ Otherwise, a list of one or more environment variable names should be passed, whose client-side
+ values are then imported into the manager's environment block. This command will silently ignore
+ any assignments which do not conform to the rules listed above.</para>
</listitem>
</varlistentry>
</variablelist>
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index 9da919c379..454dd66199 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -2186,13 +2186,18 @@ SystemCallErrorNumber=EPERM</programlisting>
<varlistentry>
<term><varname>Environment=</varname></term>
- <listitem><para>Sets environment variables for executed processes. Takes a space-separated list of variable
- assignments. This option may be specified more than once, in which case all listed variables will be set. If
- the same variable is set twice, the later setting will override the earlier setting. If the empty string is
- assigned to this option, the list of environment variables is reset, all prior assignments have no
- effect. Variable expansion is not performed inside the strings, however, specifier expansion is possible. The $
- character has no special meaning. If you need to assign a value containing spaces or the equals sign to a
- variable, use double quotes (") for the assignment.</para>
+ <listitem><para>Sets environment variables for executed processes. Takes a space-separated list of
+ variable assignments. This option may be specified more than once, in which case all listed variables
+ will be set. If the same variable is set twice, the later setting will override the earlier
+ setting. If the empty string is assigned to this option, the list of environment variables is reset,
+ all prior assignments have no effect. Variable expansion is not performed inside the strings,
+ however, specifier expansion is possible. The <literal>$</literal> character has no special
+ meaning. If you need to assign a value containing spaces or the equals sign to a variable, use double
+ quotes (") for the assignment.</para>
+
+ <para>The names of the variables can contain ASCII letters, digits, and the underscore
+ character. Variable names cannot be empty or start with a digit. In variable values, most characters
+ are allowed, but non-printable characters are currently rejected.</para>
<para>Example:
<programlisting>Environment="VAR1=word1 word2" VAR2=word3 "VAR3=$word 5 6"</programlisting>