[systemd-devel] Shell expressions in EnvironmentFile
Simon Peeters
peeters.simon at gmail.com
Tue Oct 7 10:18:11 PDT 2014
2014-10-07 19:12 GMT+02:00 Jon Stanley <jonstanley at gmail.com>:
> Since EnvironmentFile in a service isn't sourced by any shell, shell
> expressions in it will obviously not work the way that they did in a
> SysV style script.
>
> Nor does it seems that the environment gets preserved between
> ExecStartPre (where one could run a script that sets environment
> variables to be later used in the starting of the service) and
> ExecStart, so something like the following won't work:
Which is logical since no system exists to modify the environment of
the parent proces.
> [Service]
> ExecStartPre=/something/that/sets/var
> ExecStart=/some/file $var
ExecStart=/bin/sh -c ". /something/that/sets/var; /some/file $var"
in other words: If you want shell behaviour, use a shell.
> Is there some way to get dynamically determined data into the
> environment such that it can be passed to the daemon at start?
Simon Peeters
More information about the systemd-devel
mailing list