mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-21 09:33:57 +03:00
machinectl: allow --setenv=FOO
This commit is contained in:
parent
0337b3d51c
commit
89bf86e015
@ -712,14 +712,16 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-E <replaceable>NAME</replaceable>=<replaceable>VALUE</replaceable></option></term>
|
||||
<term><option>--setenv=<replaceable>NAME</replaceable>=<replaceable>VALUE</replaceable></option></term>
|
||||
<term><option>-E <replaceable>NAME</replaceable>[=<replaceable>VALUE</replaceable>]</option></term>
|
||||
<term><option>--setenv=<replaceable>NAME</replaceable>[=<replaceable>VALUE</replaceable>]</option></term>
|
||||
|
||||
<listitem><para>When used with the <command>shell</command> command, sets an environment
|
||||
variable to pass to the executed shell. Takes an environment variable name and value,
|
||||
separated by <literal>=</literal>. This switch may be used multiple times to set multiple
|
||||
environment variables. Note that this switch is not supported for the
|
||||
<command>login</command> command (see below).</para></listitem>
|
||||
<listitem><para>When used with the <command>shell</command> command, sets an environment variable for
|
||||
the executed shell. This option may be used more than once to set multiple variables. When
|
||||
<literal>=</literal> and <replaceable>VALUE</replaceable> are omitted, the value of the variable with
|
||||
the same name in the program environment will be used.</para>
|
||||
|
||||
<para>Note that this option is not supported for the <command>login</command> command.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
|
@ -2510,7 +2510,7 @@ static int help(int argc, char *argv[], void *userdata) {
|
||||
" --kill-who=WHO Who to send signal to\n"
|
||||
" -s --signal=SIGNAL Which signal to send\n"
|
||||
" --uid=USER Specify user ID to invoke shell as\n"
|
||||
" -E --setenv=VAR=VALUE Add an environment variable for shell\n"
|
||||
" -E --setenv=VAR[=VALUE] Add an environment variable for shell\n"
|
||||
" --read-only Create read-only bind mount\n"
|
||||
" --mkdir Create directory before bind mounting, if missing\n"
|
||||
" -n --lines=INTEGER Number of journal entries to show\n"
|
||||
@ -2765,13 +2765,9 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
break;
|
||||
|
||||
case 'E':
|
||||
if (!env_assignment_is_valid(optarg))
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
|
||||
"Environment assignment invalid: %s", optarg);
|
||||
|
||||
r = strv_extend(&arg_setenv, optarg);
|
||||
r = strv_env_replace_strdup_passthrough(&arg_setenv, optarg);
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
return log_error_errno(r, "Cannot assign environment variable %s: %m", optarg);
|
||||
break;
|
||||
|
||||
case ARG_MAX_ADDRESSES:
|
||||
|
Loading…
Reference in New Issue
Block a user