This commit is contained in:
shenmo
2026-02-19 20:40:02 +08:00
committed by GitHub
parent b72f5f8da6
commit a37ee1cd31

View File

@@ -5,41 +5,39 @@ readonly ACE_ENVIRONMENTS=(
"deepin23-run:amber-ce-deepin23" "deepin23-run:amber-ce-deepin23"
"sid-run:amber-ce-sid" "sid-run:amber-ce-sid"
) )
dpkg -s "$1" > /dev/null dpkg -s "$1" > /dev/null 2>&1
RET="$?" RET="$?"
if [[ "$RET" != "0" ]] &&[[ "$IS_ACE_ENV" == "" ]];then ## 如果未在ACE环境中 if [[ "$RET" != "0" ]] && [[ "$IS_ACE_ENV" == "" ]];then ## 如果未在ACE环境中
for ace_entry in "${ACE_ENVIRONMENTS[@]}"; do
ace_cmd=${ace_entry%%:*}
if command -v "$ace_cmd" >/dev/null 2>&1; then
echo "----------------------------------------"
echo "正在检查 $ace_cmd 环境的安装..."
echo "----------------------------------------"
# 在ACE环境中使用dpkg -s检查安装状态
# 使用dpkg -s并检查输出中是否包含"Status: install ok installed"
$ace_cmd bash -c "dpkg -s '$1' 2>/dev/null | grep -q 'Status: install ok installed'"
try_run_ret="$?"
for ace_entry in "${ACE_ENVIRONMENTS[@]}"; do # 最终检测结果处理
ace_cmd=${ace_entry%%:*} if [ "$try_run_ret" -eq 0 ]; then
if command -v "$ace_cmd" >/dev/null 2>&1; then
echo "----------------------------------------" echo "----------------------------------------"
echo "正在检查 $ace_cmd 环境的安装..." echo " $ace_cmd 环境中找到了安装"
echo "----------------------------------------"
exit $try_run_ret
else
echo "----------------------------------------"
echo "在 $ace_cmd 环境中未能找到安装,继续查找"
echo "----------------------------------------" echo "----------------------------------------"
# 在ACE环境中执行安装检测
$ace_cmd dpkg -l | grep "^ii $1 " > /dev/null
try_run_ret="$?"
# 最终检测结果处理
if [ "$try_run_ret" -eq 0 ]; then
echo "----------------------------------------"
echo "在 $ace_cmd 环境中找到了安装"
echo "----------------------------------------"
exit $try_run_ret
else
echo "----------------------------------------"
echo "在 $ace_cmd 环境中未能找到安装,继续查找"
echo "----------------------------------------"
fi
fi fi
done fi
echo "----------------------------------------" done
echo "所有已安装的 ACE 环境中未能找到安装,退出" echo "----------------------------------------"
echo "----------------------------------------" echo "所有已安装的 ACE 环境中未能找到安装,退出"
exit "$RET" echo "----------------------------------------"
fi exit "$RET"
fi
## 如果在ACE环境中或者未出错 ## 如果在ACE环境中或者未出错
exit "$RET" exit "$RET"