Zachowaj argumenty curl --noproxy w nienaruszonym stanie dzięki tablicy Bash
Przechowuj wielokrotnie używane opcje curl w tablicy Bash, aby dosłowna gwiazdka dotarła do --noproxy, nie stając się tekstem powłoki.
W Bashu tablica zachowuje argumenty wielokrotnego wywołania curl:
curl_options=(--noproxy '*' --fail --max-time 10)
curl "${curl_options[@]}" 'https://api.example/'Pojedyncze cudzysłowy chronią gwiazdkę podczas tworzenia tablicy. Są składnią powłoki, więc tablica przechowuje jeden dosłowny znak *. Następnie rozwinięcie tablicy w podwójnych cudzysłowach podaje każdy element jako osobny argument.
Tutaj --noproxy '*' prosi curl o omijanie proxy dla każdego celu. Gdy tylko wybrane cele mają być bezpośrednie, użyj zamiast tego zamierzonej listy hostów.
Skalar zawierający tekst taki jak curl --noproxy '*' nie zachowuje tej samej struktury. Cudzysłowy powstające przy rozwinięciu zmiennej są na tym etapie zwykłymi znakami; Bash nie analizuje ich ponownie automatycznie jako składni cudzysłowów. Funkcja to inne odpowiednie miejsce na stałe opcje, gdy przekazuje swoje argumenty przez "$@".