From 881ca619cf9c641daaf0cb4cb8550c833fb44f78 Mon Sep 17 00:00:00 2001 From: Boris Yumankulov Date: Mon, 1 Dec 2025 21:13:45 +0500 Subject: [PATCH] fix(show_ppdb): drop comments from PPDB Signed-off-by: Boris Yumankulov --- data_from_portwine/scripts/start.sh | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 0a8f5f5e..c06e0f41 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -493,17 +493,22 @@ $(echo $files_from_autoinstall | awk '{for (i = 1; i <= NF; i++) {if (i % 10 == esac ppdb_path="${exe_path}.ppdb" - if [[ ! -f "$ppdb_path" ]]; then export portwine_exe="$exe_path" pw_init_db fi - grep -E '^export ' "$ppdb_path" | sed '/^[[:space:]]*$/d' | while IFS='=' read -r var val; do - [[ -z "$var" ]] && continue - var_name=$(echo "$var" | sed 's/^export[[:space:]]*//') - val_clean=$(echo "$val" | sed 's/^"//; s/"$//') - echo "${var_name}=${val_clean}" + grep -E '^export ' "$ppdb_path" \ + | sed '/^[[:space:]]*$/d' \ + | while IFS= read -r line; do + line="${line#export }" + if [[ "$line" =~ ^([^=]+)=\"([^\"]*)\"[[:space:]]*#.*$ ]]; then + echo "${BASH_REMATCH[1]}=\"${BASH_REMATCH[2]}\"" + elif [[ "$line" =~ ^([^=]+)=([^#[:space:]]+)[[:space:]]*#.*$ ]]; then + echo "${BASH_REMATCH[1]}=${BASH_REMATCH[2]}" + else + echo "$line" + fi done exit 0 ;;