From 3a28d8d2e1044f2fe28f93076df911fd8fc9fd98 Mon Sep 17 00:00:00 2001 From: tjcork Date: Tue, 15 Apr 2025 18:31:07 +0100 Subject: [PATCH] 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 --- .../terminal/common/scripts/shellIntegration-bash.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh b/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh index ee081dd6262..7f6f5bdab7c 100644 --- a/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh +++ b/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh @@ -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