Как передать переменную в curl

Вопрос:Есть и другие вопросы о том, как вставить переменную в curl-команду в URL-адрес. Я хочу, чтобы переменная, определенная в верхней части script, меняла значения следующим образом: # MODE=-v MODE='-sS -w "nEffective URL: %{url_effective} nSize: %{size_download} nTotal time: %{time_total} nRedirect URL: %{redirect_url}"' и использовать его среди нескольких запросов на завивки, например: PAGE=$(curl $MODE --include --location --config

Вопрос:

Есть и другие вопросы о том, как вставить переменную в curl-команду в URL-адрес.

Я хочу, чтобы переменная, определенная в верхней части script, меняла значения следующим образом:

# MODE=-v MODE=’-sS -w «nEffective URL: %{url_effective} nSize: %{size_download} nTotal time: %{time_total} nRedirect URL: %{redirect_url}»‘

и использовать его среди нескольких запросов на завивки, например:

PAGE=$(curl $MODE —include —location —config curl.config $TARGET1)

К сожалению, ни один из вариантов цитирования ($ MODE или $TARGET1) или ${MODE}, которые я пробовал, вызывает выбор -w и появляется внизу таблицы $PAGE. Он отлично работает при замене $MODE на длинную версию.

Как это можно заставить работать?

Лучший ответ:

Другой (аналогичный) способ. Также предложит вам указать такие переменные, как URI.
Второй момент – быть осторожным с именами переменных верхнего регистра; поскольку они могут легко сбрасываться с переменными окружения и т.д.

#!/bin/bash url=»$1″ w=(«-sS» «-w Effective URL: %{url_effective} Size : %{size_download} Total time : %{time_total} Redirect URL : %{redirect_url}» ) page=»$(curl «${w[@]}» —include —location —config curl.config «$url»)» Ответ №1

Один из способов сделать это

w=( ‘nEffective URL: %{url_effective}’ ‘nSize: %{size_download}’ ‘nTotal time: %{time_total}’ ‘nRedirect URL: %{redirect_url}’ ) curl -Ss —include —location —config curl.config -w «${w[*]}» icanhazip.com

Когда вы делаете это по-своему, происходит разбиение слов, поэтому строка -w разбивается на каждое пространство, а не передается как одна строка.

$ set -x $ : curl $MODE —include —location —config curl.config icanhazip.com + : curl -sS -w ‘»nEffective’ URL: ‘%{url_effective}’ ‘nSize:’ ‘%{size_download}’ ‘nTotal’ time: ‘%{time_total}’ ‘nRedirect’ URL: ‘%{redirect_url}»‘ —include —location —config curl.config icanhazip.com

Оцените статью
Добавить комментарий