相关疑难解决方法(0)

用bash设置参数

我经常运行一个简单的bash命令:

rpm -Uvh --define "_transaction_color 3" myPackage.rpm
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.

但现在我正在尝试将其编写为bash文件,并使其更灵活:

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

${INSTALL_CMD} ${INSTALL_OPT} myPackage.rpm
Run Code Online (Sandbox Code Playgroud)

但是,这会产生错误:

error: Macro % has illegal name (%define)
Run Code Online (Sandbox Code Playgroud)

错误来自如何处理--define和引用_transaction_color.
我尝试过各种各样的逃避,不同的措辞,甚至制作INSTALL_OPT一个数组,处理${INSTALL_OPT[@]}.

到目前为止,我的尝试没有奏效.
显然,我想要的是非常简单.我只是不确定如何实现它.

我怎样才能让bash --define正确处理我的论点?

unix linux bash

7
推荐指数
1
解决办法
1694
查看次数

标签 统计

bash ×1

linux ×1

unix ×1