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?