curl --noproxy-Argumente mit einem Bash-Array unversehrt halten
Wiederverwendbare curl-Optionen in einem Bash-Array speichern, damit das wörtliche Sternchen bei --noproxy ankommt, ohne Shell-Text zu werden.
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.