使用bash設置參數我經常運行一個簡單的bash命令:rpm -Uvh --define "_transaction_color 3" myPackage.rpm工作正常。但現在我正在嘗試將其寫入bash文件,并使其更加靈活:#!/bin/bashINSTALL_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正確的爭論?
3 回答

呼喚遠方
TA貢獻1856條經驗 獲得超11個贊
'_transaction_color
.
INSTALL_OPT=(-Uvh --define '_transaction_color 3')
"$INSTALL_CMD" "${INSTALL_OPT[@]}" myPackage.rpm
${INSTALL_OPT[@]}

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
#!/bin/bashIFS=$'\n'INSTALL_CMD=rpm INSTALL_OPT='-Uvh'INSTALL_OPT_DEFINE='--define _transaction_color 3' ${INSTALL_CMD} ${INSTALL_OPT} ${INSTALL_OPT_DEFINE} myPackage.rpm
添加回答
舉報
0/150
提交
取消