From 52466ffd432cd6f10be5bf4e2211e143007d0ddd Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 10 Mar 2026 23:52:52 +0800 Subject: [PATCH] Fix wp search-replace option forwarding --- scripts/wp-search-replace.sh | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/scripts/wp-search-replace.sh b/scripts/wp-search-replace.sh index fde890b..ee2213f 100644 --- a/scripts/wp-search-replace.sh +++ b/scripts/wp-search-replace.sh @@ -186,6 +186,7 @@ OLD_URL="${WP_CLI_ARGS[0]}" NEW_URL="${WP_CLI_ARGS[1]}" OLD_NORMAL=$(trim_trailing_slash "$OLD_URL") NEW_NORMAL=$(trim_trailing_slash "$NEW_URL") +EXTRA_WP_ARGS=("${WP_CLI_ARGS[@]:2}") # Array of replacement tasks (each element "old|||new") TASKS=("$OLD_URL|||$NEW_URL") @@ -197,32 +198,22 @@ fi # --- Execute Command --- info "Executing 'wp search-replace'..." -# Build command array safely to preserve argument quoting -CMD=() -if [[ -n "$SUDO_CMD" ]]; then - # shellcheck disable=SC2206 - CMD=($SUDO_CMD) # split sudo command into array elements -fi -CMD+=("$WP_EXECUTABLE" "search-replace") -CMD+=("${WP_CLI_ARGS[@]}") -CMD+=("${WP_RUN_ARGS[@]}") - for pair in "${TASKS[@]}"; do OLD_PART=${pair%%|||*} NEW_PART=${pair##*|||} - info "Running wp search-replace '$OLD_PART' '$NEW_PART' …" - # Build command anew for each iteration + # Build command array safely to preserve argument quoting CMD=() if [[ -n "$SUDO_CMD" ]]; then # shellcheck disable=SC2206 - CMD=($SUDO_CMD) + CMD=($SUDO_CMD) # split sudo command into array elements fi + # Prepend environment variables to ensure cURL trusts system CA store if [[ ${#ENV_PREFIX[@]} -gt 0 ]]; then CMD+=("${ENV_PREFIX[@]}") fi - CMD+=("$WP_EXECUTABLE" "search-replace" "$OLD_PART" "$NEW_PART" "${WP_RUN_ARGS[@]}") + CMD+=("$WP_EXECUTABLE" "search-replace" "$OLD_PART" "$NEW_PART" "${EXTRA_WP_ARGS[@]}" "${WP_RUN_ARGS[@]}") SEARCH_OUTPUT=$( "${CMD[@]}" 2>&1 ) STATUS=$?