Bashissa taulukko säilyttää uudelleenkäytettävän curl-kutsun argumentit:

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

Yksinkertaiset lainausmerkit suojaavat tähteä taulukkoa luotaessa. Ne ovat shellin syntaksia, joten taulukkoon tallentuu yksi kirjaimellinen *-merkki. Sen jälkeen lainausmerkeissä tehty taulukon laajennus välittää jokaisen alkion erillisenä argumenttina.

Tässä --noproxy '*' pyytää curlilta, että se ohittaa välityspalvelimet kaikille kohteille. Käytä sen sijaan aiottua isäntäluetteloa, kun vain valittujen kohteiden pitäisi olla suoria.

Skalaari, joka sisältää tekstiä kuten curl --noproxy '*', ei säilytä samaa rakennetta. Muuttujan laajentamisesta syntyvät lainausmerkit ovat siinä vaiheessa tavallisia merkkejä; Bash ei jäsennä niitä automaattisesti uudelleen lainausmerkkien syntaksiksi. Funktio on toinen sopiva paikka kiinteille valitsimille, kun se välittää argumenttinsa "$@"-merkinnällä.

Aiheeseen liittyvät artikkelit