簡単な bash コマンドを頻繁に実行します。
rpm -Uvh --define "_transaction_color 3" myPackage.rpm
これは正しく機能します。
しかし今、私はそれをbashファイルにスクリプト化して、より柔軟にしようとしています:
#!/bin/bash
INSTALL_CMD=rpm
INSTALL_OPT="-Uvh --define '_transaction_color 3'"
${INSTALL_CMD} ${INSTALL_OPT} myPackage.rpm
ただし、これによりエラーが発生し続けます。
error: Macro % has illegal name (%define)
エラーはどのように発生して--defineおり、引用された_transaction_colorものは処理されます。
さまざまなエスケープ、さまざまな言い回し、さらにINSTALL_OPTは配列の作成を試みました${INSTALL_OPT[@]}。
これまでのところ、私の試みはうまくいきませんでした。
明らかに、私が欲しいものは非常に単純です。それを達成する方法がわかりません。
--definebash で引数を適切に処理するにはどうすればよいですか?