On Do, 25.06.20 20:25, Ede Wolf (listac@xxxxxxxxxxxxxxxx) wrote: > Does work, so %i works, $SOMETHING not. Different naming, different way of > invocation, I am aware of that, but in general it still the usage of > variables. And the likes of %H, %m or %v are some form of environment, > aren't they? Sure, you could claim this was a very specific form of templating. But it's a very different kind of language, as these specifiers are defined by systemd itself and are not affected by the contents of the unit file itself. I.e. you cannot go and say within a unit file that %m shall now resolve to "foo", and that %v shall now be "xyz". Instead, these expansions are defined by the unit file language itself, not by the unit file stanzas you place them in. That difference is quite major: the value of each specifier expansion is already well-defined and fixed at the moment we begin parsing the unit file (and its drop-ins) and their meaning does not change based on anything you could put in the file. Scripting languages that know env vars or generic templating languages are quite different there: you come up with variables, you assign them at the top and then you can resolve them further down. This implies a top-down, iterative order of execution. And we don't want that. Use m4 for that or shell. It's what they do, what they are good in. It's the distinction between declarative languages and iterative languages. We provide shortcuts to some concepts, but that's really it, otherwise we are declarative and never iterative. > > If you want a shell, use a shell. > > Given the dominance of systemd, this is only in parts realistic. This is not > meant to critisize systemd itself, just this rather bold statement. As shown > above, variables (specifiers, whatever you call them) are not shell > specific. They are not shell specific. You could also use m4 if you want a templating language, there's no shame in that. But systemd is certainly not in the business of inventing yet another shell or generic templating language. Lennart -- Lennart Poettering, Berlin _______________________________________________ systemd-devel mailing list systemd-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/systemd-devel