In Bash un array conserva gli argomenti per una chiamata curl riutilizzabile:

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

Gli apici singoli proteggono l'asterisco durante la creazione dell'array. Sono sintassi della shell, quindi l'array memorizza un unico carattere * letterale. Poi l'espansione dell'array tra doppi apici fornisce ogni elemento come argomento separato.

Qui --noproxy '*' chiede a curl di aggirare i proxy per ogni destinazione. Usa invece l'elenco di host previsto quando solo destinazioni selezionate devono essere dirette.

Uno scalare che contiene testo come curl --noproxy '*' non conserva la stessa struttura. Gli apici prodotti dall'espansione di una variabile sono caratteri ordinari in quella fase; Bash non li analizza di nuovo automaticamente come sintassi di quoting. Una funzione è un'altra sede adatta per le opzioni fisse quando inoltra i suoi argomenti con "$@".

Articoli correlati