В Bash масивът запазва аргументите за многократно извикване на curl:

curl_options=(--noproxy '*' --fail --max-time 10)
curl "${curl_options[@]}" 'https://api.example/'

Единичните кавички предпазват звездичката, докато се създава масивът. Те са синтаксис на shell, затова масивът съхранява един буквален символ *. След това разгръщането на масива в двойни кавички подава всеки елемент като отделен аргумент.

Тук --noproxy '*' кара curl да заобикаля прокситата за всяка дестинация. Използвайте вместо това желания списък с хостове, когато само избрани дестинации трябва да са директни.

Скалар, съдържащ текст като curl --noproxy '*', не запазва същата структура. Кавичките, получени при разгръщане на променлива, на този етап са обикновени знаци; Bash не ги анализира отново автоматично като синтаксис за кавички. Функцията е друго подходящо място за фиксирани опции, когато предава аргументите си с "$@".

Подобни статии