Consider 

[Unit]
Description=Is it looking for ${} construct in the wrong place?
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'set -x; declare -r str="1 2"; echo ${str}; echo $str; 
exit 0;'

When ran, the journal has:

bash[14190]: + declare -r 'str=1 2'
bash[14190]: + echo
bash[14190]: + echo 1 2
bash[14190]: 1 2
bash[14190]: + exit 0

Note the top bash[14190]: + echo line. It has no arguments. Since the other 
echo line
has its 1 2 arguments, I find this behaviour inconsistent. And surprising. As 
such, I
think this is a bug.
It could be that the ${NAME} construct is looked for in the environment. But 
then, why 
$NAME works in the script, but not ${NAME}?

In addition, for the top bash[14190]: + echo line, isn't there a missing empty, 
just
[bash[14190]:, line?

Same results were obtained with systemd 241-7 and 246.2.

u34.
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to