Fix wp search-replace option forwarding

main
Anthony 2026-03-10 23:52:52 +08:00
parent 1e816edf95
commit 52466ffd43
1 changed files with 5 additions and 14 deletions

View File

@ -186,6 +186,7 @@ OLD_URL="${WP_CLI_ARGS[0]}"
NEW_URL="${WP_CLI_ARGS[1]}" NEW_URL="${WP_CLI_ARGS[1]}"
OLD_NORMAL=$(trim_trailing_slash "$OLD_URL") OLD_NORMAL=$(trim_trailing_slash "$OLD_URL")
NEW_NORMAL=$(trim_trailing_slash "$NEW_URL") NEW_NORMAL=$(trim_trailing_slash "$NEW_URL")
EXTRA_WP_ARGS=("${WP_CLI_ARGS[@]:2}")
# Array of replacement tasks (each element "old|||new") # Array of replacement tasks (each element "old|||new")
TASKS=("$OLD_URL|||$NEW_URL") TASKS=("$OLD_URL|||$NEW_URL")
@ -197,32 +198,22 @@ fi
# --- Execute Command --- # --- Execute Command ---
info "Executing 'wp search-replace'..." 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 for pair in "${TASKS[@]}"; do
OLD_PART=${pair%%|||*} OLD_PART=${pair%%|||*}
NEW_PART=${pair##*|||} NEW_PART=${pair##*|||}
info "Running wp search-replace '$OLD_PART' '$NEW_PART' …" # Build command array safely to preserve argument quoting
# Build command anew for each iteration
CMD=() CMD=()
if [[ -n "$SUDO_CMD" ]]; then if [[ -n "$SUDO_CMD" ]]; then
# shellcheck disable=SC2206 # shellcheck disable=SC2206
CMD=($SUDO_CMD) CMD=($SUDO_CMD) # split sudo command into array elements
fi fi
# Prepend environment variables to ensure cURL trusts system CA store # Prepend environment variables to ensure cURL trusts system CA store
if [[ ${#ENV_PREFIX[@]} -gt 0 ]]; then if [[ ${#ENV_PREFIX[@]} -gt 0 ]]; then
CMD+=("${ENV_PREFIX[@]}") CMD+=("${ENV_PREFIX[@]}")
fi 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 ) SEARCH_OUTPUT=$( "${CMD[@]}" 2>&1 )
STATUS=$? STATUS=$?