Збережіть аргументи 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 не розбирає їх повторно автоматично як синтаксис лапок. Функція — ще одне слушне місце для фіксованих параметрів, коли вона передає свої аргументи через "$@".