Mit bash ein Argument setzen

Ich führe häufig einen einfachen Bash-Befehl aus:

rpm -Uvh --define "_transaction_color 3" myPackage.rpm

das funktioniert einwandfrei.

Aber jetzt versuche ich, es in eine Bash-Datei zu schreiben und es flexibler zu machen:

#!/bin/bash
INSTALL_CMD=rpm
INSTALL_OPT="-Uvh --define '_transaction_color 3'"

${INSTALL_CMD} ${INSTALL_OPT} myPackage.rpm

Dies erzeugt jedoch weiterhin den Fehler:

error: Macro % has illegal name (%define)

Der Fehler kommt von wie--define und das zitierte_transaction_color behandelt wird.
Ich habe eine Vielzahl von Flucht- und Phrasierungsmethoden ausprobiert, sogar die HerstellungINSTALL_OPT ein Array, mit dem gearbeitet wird${INSTALL_OPT[@]}.

Bisher haben meine Versuche nicht geklappt.
Klar, was ich will, ist extrem einfach. Ich bin mir nur nicht sicher, wie ich das erreichen soll.

Wie kann ich Bash bekommen, um mit meinem Problem umzugehen?--define richtig argumentieren?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage