In Bash bewahrt ein Array die Argumente für einen wiederverwendbaren curl-Aufruf:

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

Die einfachen Anführungszeichen schützen das Sternchen beim Erzeugen des Arrays. Sie sind Shell-Syntax, daher speichert das Array ein einziges wörtliches *-Zeichen. Die Array-Erweiterung in doppelten Anführungszeichen liefert dann jedes Element als eigenes Argument.

Hier bittet --noproxy '*' curl darum, Proxys für jedes Ziel zu umgehen. Verwenden Sie stattdessen die gewünschte Hostliste, wenn nur ausgewählte Ziele direkt sein sollen.

Ein Skalar mit Text wie curl --noproxy '*' bewahrt nicht dieselbe Struktur. Anführungszeichen, die beim Erweitern einer Variablen entstehen, sind zu diesem Zeitpunkt gewöhnliche Zeichen; Bash wertet sie nicht automatisch erneut als Anführungszeichen-Syntax aus. Eine Funktion ist ein weiterer geeigneter Ort für feste Optionen, wenn sie ihre Argumente mit "$@" weiterreicht.

Ähnliche Artikel