In einem Bash-Skript brauche ich eine Kommandozeile einige male, also beispielsweise ein Kommando ausgeführt und danach das selbe Kommando mittels pkill gekillt:

...
foo $OPTIONS $ARG
sleep 0.1
# Terminate foo if it is still working.
pkill -U $UID -f "foo $OPTIONS $ARG"
...

Irgendwie hatte sich nämlich das Programm (konkret wget) manchmal in den Hintergrund verabschiedet, so dass es mit pkill gekillt werden musste.
Wenn ich aber

...
COMMAND_LINE="foo $OPTIONS $ARG"
for ARG in $ARGS ; do
$COMMAND_LINE
pkill -U $UID -f "$COMMAND_LINE"
done
...

versuche, dann funktioniert die Substituion nicht wie gewünscht; es wird schon in der Zeile mit COMMAND_LINE= substituiert und nicht beim $COMMAND_LINE. Mit "'" statt """ funktioniert es auch nicht.
Wie bekomme ich die Substitution so hin, dass sie nur nach der Zeile mit COMMAND_LINE= vorgenommen wird?