Сохраните аргументы curl --noproxy неизменными с помощью массива Bash
Храните повторно используемые параметры curl в массиве Bash, чтобы буквальная звёздочка доходила до --noproxy, не становясь текстом оболочки.
В Bash массив сохраняет аргументы повторного вызова curl:
curl_options=(--noproxy '*' --fail --max-time 10)
curl "${curl_options[@]}" 'https://api.example/'Одинарные кавычки защищают звёздочку во время создания массива. Это синтаксис оболочки, поэтому массив хранит один буквальный символ *. Затем развёртывание массива в двойных кавычках передаёт каждый элемент отдельным аргументом.
Здесь --noproxy '*' просит curl обходить прокси для любого назначения. Если прямыми должны быть только выбранные назначения, используйте вместо этого нужный список хостов.
Скаляр, содержащий текст вроде curl --noproxy '*', не сохраняет ту же структуру. Кавычки, возникающие при развёртывании переменной, на этом этапе являются обычными символами; Bash не разбирает их повторно автоматически как синтаксис кавычек. Функция — ещё одно подходящее место для фиксированных параметров, когда она передаёт свои аргументы через "$@".