A Bash, un array conserva els arguments d'una invocació de curl reutilitzable:

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

Les cometes simples protegeixen l'asterisc mentre es crea l'array. Són sintaxi del shell, així que l'array emmagatzema un únic caràcter * literal. Després, l'expansió de l'array entre cometes dobles forneix cada element com a argument separat.

Aquí --noproxy '*' demana a curl que eviti els proxys per a qualsevol destí. Feu servir la llista d'amfitrions prevista quan només alguns destins hagin de ser directes.

Un escalar que contingui text com curl --noproxy '*' no conserva la mateixa estructura. Les cometes que apareixen en expandir una variable són caràcters ordinaris en aquest moment; Bash no les torna a analitzar automàticament com a sintaxi de cometes. Una funció és una altra llar adequada per a les opcions fixes quan passa els seus arguments amb "$@".

Articles relacionats