Håll curl --noproxy-argumenten intakta med en Bash-array
Lagra återanvändbara curl-alternativ i en Bash-array så att den bokstavliga stjärnan når --noproxy utan att bli shell-text.
I Bash bevarar en array argumenten för ett återanvändbart curl-anrop:
curl_options=(--noproxy '*' --fail --max-time 10)
curl "${curl_options[@]}" 'https://api.example/'Enkla citattecken skyddar stjärnan medan arrayen skapas. De är shell-syntax, så arrayen lagrar ett enda bokstavligt *-tecken. Därefter levererar array-utvidgningen inom dubbla citattecken varje element som ett separat argument.
Här ber --noproxy '*' curl att gå förbi proxyservrar för varje destination. Använd i stället den avsedda värdlistan när bara utvalda destinationer ska vara direkta.
En skalär med text som curl --noproxy '*' bevarar inte samma struktur. Citattecken som uppstår vid expandering av en variabel är vanliga tecken i det skedet; Bash tolkar dem inte automatiskt igen som citatteckenssyntax. En funktion är en annan lämplig plats för fasta alternativ när den skickar vidare sina argument med "$@".