我有一個定義如下的函數。每次它通過數組運行時,我都希望它更新現有變量(${1}_FLAG}
)。不按我的意圖工作。基本上,如果存在所述包的新版本,請將該標誌設置爲true,以便我可以調用另一個函數。將變量值轉換爲bash中的新變量
刪除了「額外」變量,因爲人們被他們趕上了。我需要的是當它們被循環時更新HTTP_FLAG
PHP_FLAG
和MOD_QOS
變量。
HTTP_FLAG=false
PHP_FLAG=false
MOD_QOS=false
PKGS=(HTTP PHP MOD_QOS);
check_new_version() {
# If a new version is available, download the source file
if [ ${!check_version} != ${!current_version} ]
then
...
...
${1}_FLAG=true
fi
}
for i in "${PKGS[@]}"
do
check_new_version $i
done
if ${HTTP_FLAG}; then
...
...
fi
你在哪裏設置'HTTP_VER' ,「HTTP_CURRENT」,「HTTP_LINK」等。人? – twalberg
腳本上方相當長,我不認爲它們會相關。一個例子是'HTTP_LINK =「http://apache.ziply.com/httpd/${HTTP_VER}」' – luckytaxi
請修改您的問題,以包含「不按我想要的方式工作」的演示,所需的輸出VS電流輸出。或者使用'set -vx和set + vx'打開/關閉shell調試跟蹤,以查看每個cmd/block是如何使用變量替換進行處理的。祝你好運。 – shellter