From c7b766c4e7bacbcb0ccb4f2bf3e1be49a763e370 Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 9 Aug 2024 23:59:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=B8=A6=E7=A9=BA=E6=A0=BC=E7=9A=84=E5=BA=94=E7=94=A8=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=90=AF=E5=8A=A8=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wine-app-launcher/wine-app-launcher.sh | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/spark-dwine-helper/s-wine-helper/opt/apps/store.spark-app.spark-dwine-helper/files/deepinwine/tools/spark-dwine-helper/wine-app-launcher/wine-app-launcher.sh b/spark-dwine-helper/s-wine-helper/opt/apps/store.spark-app.spark-dwine-helper/files/deepinwine/tools/spark-dwine-helper/wine-app-launcher/wine-app-launcher.sh index 7fc07e8..57f06b2 100755 --- a/spark-dwine-helper/s-wine-helper/opt/apps/store.spark-app.spark-dwine-helper/files/deepinwine/tools/spark-dwine-helper/wine-app-launcher/wine-app-launcher.sh +++ b/spark-dwine-helper/s-wine-helper/opt/apps/store.spark-app.spark-dwine-helper/files/deepinwine/tools/spark-dwine-helper/wine-app-launcher/wine-app-launcher.sh @@ -2,10 +2,9 @@ SHELL_DIR=$(dirname $(realpath $0)) -# 函数:获取所有应用列表 -# 函数:获取所有应用列表 +apps_list=() get_apps_list() { - local apps_list=() + local app_dirs=($(find /opt/apps -mindepth 1 -maxdepth 1 -type d -exec test -f {}/files/run.sh \; -print)) if [ ${#app_dirs[@]} -eq 0 ]; then @@ -28,17 +27,16 @@ get_apps_list() { version="无法读取" fi # START_SHELL_PATH=XXX/spark_run_v4.sh - if grep START_SHELL_PATH= "$run_script" | grep spark_run_v4.sh; then + if grep spark_run_v4.sh "$run_script" >/dev/null 2>&1 ; then use_spark="是" fi fi local app_name=$(get_app_name "$package_name") - - apps_list+=("$app_name" "$package_name" "$bottle_name" "$version" "$use_spark") + apps_list+=("$app_name" "$package_name" "$bottle_name" "$version" "$use_spark") done - echo "${apps_list[@]}" + } # 函数:获取应用名称 @@ -58,14 +56,18 @@ get_app_name() { # 函数:选择应用 select_app() { - local apps_list=($(get_apps_list)) - local app=$(zenity --print-column=2 --width=800 --height=600 --list --title="选择应用" --text="选择要执行的应用" --column="应用名" --column="包名" --column="容器名" --column="版本号" --column="是否使用星火wine助手" "${apps_list[@]}") +get_apps_list +for (( i = 0; i < ${#apps_list[@]}; i++ )); do + echo ${apps_list[$i]} +done + + local app=$(zenity --print-column=2 --width=800 --height=600 --list --title="选择应用" --text="选择要执行的应用" --column="应用名" --column="包名" --column="容器名" --column="版本号" --column="是否使用星火wine助手" "${apps_list[@]}") if [ -n "$app" ]; then local app_dir="/opt/apps/$app" local run_script="$app_dir/files/run.sh" local use_spark="否" - if if grep START_SHELL_PATH= "$run_script" | grep spark_run_v4.sh; then + if grep spark_run_v4.sh "$run_script" >/dev/null 2>&1 ; then use_spark="是" fi if [ "$use_spark" == "是" ]; then @@ -74,6 +76,8 @@ select_app() { select_non_spark_action "$app" "$(get_app_name $app)" fi fi + ### 还原分隔符 + IFS="$IFS_OLD" } select_non_spark_action(){