簡単な 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[@]}
。
これまでのところ、私の試みはうまくいきませんでした。
明らかに、私が欲しいものは非常に単純です。それを達成する方法がわかりません。
--define
bash で引数を適切に処理するにはどうすればよいですか?