Dynamisches Erstellen eines Befehls in Bash

Ich konstruiere einen Befehl dynamisch in Bash. Das funktioniert gut:

COMMAND="java myclass"
${COMMAND}

Jetzt möchte ich dynamisch einen Befehl erstellen, der die Ausgabe umleitet:

LOG=">> myfile.log 2>&1"
COMMAND="java myclass $LOG"
${COMMAND}

Der Befehl ruft weiterhin den Java-Prozess auf, die Ausgabe wird jedoch nicht an myfile.log umgeleitet

Zusätzlich, wenn ich tue:

BACKGROUND="&"
COMMAND="java myclass $BACKGROUND"
${COMMAND}

Der Befehl wird nicht im Hintergrund ausgeführt.

Gibt es Hinweise, wie die Protokollumleitung funktioniert und welche Hintergrundbits funktionieren? (bash -x zeigt die Befehle, die wie erwartet erstellt werden)

(In Wirklichkeit werden im Gegensatz zu diesem Beispiel die Werte von LOG und BACKGROUND dynamisch festgelegt.)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage