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 "$@".

Relaterade artiklar