Use parameter expansion to fetch envs for envVarCollections in shellIntegration-bash.sh (#245264)

Fix shellIntegration-bash.sh

To fix issue ShellIntegration-bash is not properly escaping windows paths #245260
where echo is causing characters to be interpreted instead of escaped
This commit is contained in:
tjcork
2025-04-15 18:31:07 +01:00
committed by GitHub
parent 5f42488565
commit 3a28d8d2e1

View File

@@ -66,8 +66,8 @@ fi
if [ -n "${VSCODE_ENV_REPLACE:-}" ]; then
IFS=':' read -ra ADDR <<< "$VSCODE_ENV_REPLACE"
for ITEM in "${ADDR[@]}"; do
VARNAME="$(echo $ITEM | cut -d "=" -f 1)"
VALUE="$(echo -e "$ITEM" | cut -d "=" -f 2-)"
VARNAME="${ITEM%%=*}"
VALUE="${ITEM#*=}"
export $VARNAME="$VALUE"
done
builtin unset VSCODE_ENV_REPLACE
@@ -75,8 +75,8 @@ fi
if [ -n "${VSCODE_ENV_PREPEND:-}" ]; then
IFS=':' read -ra ADDR <<< "$VSCODE_ENV_PREPEND"
for ITEM in "${ADDR[@]}"; do
VARNAME="$(echo $ITEM | cut -d "=" -f 1)"
VALUE="$(echo -e "$ITEM" | cut -d "=" -f 2-)"
VARNAME="${ITEM%%=*}"
VALUE="${ITEM#*=}"
export $VARNAME="$VALUE${!VARNAME}"
done
builtin unset VSCODE_ENV_PREPEND
@@ -84,8 +84,8 @@ fi
if [ -n "${VSCODE_ENV_APPEND:-}" ]; then
IFS=':' read -ra ADDR <<< "$VSCODE_ENV_APPEND"
for ITEM in "${ADDR[@]}"; do
VARNAME="$(echo $ITEM | cut -d "=" -f 1)"
VALUE="$(echo -e "$ITEM" | cut -d "=" -f 2-)"
VARNAME="${ITEM%%=*}"
VALUE="${ITEM#*=}"
export $VARNAME="${!VARNAME}$VALUE"
done
builtin unset VSCODE_ENV_APPEND