Dalam Bash, tatasusunan mengekalkan argumen untuk panggilan curl boleh guna semula:

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

Tanda petikan tunggal melindungi asterisk semasa tatasusunan dicipta. Ia sintaks shell, jadi tatasusunan menyimpan satu aksara * literal. Peluasan tatasusunan dalam tanda petikan berganda kemudian membekalkan setiap elemen sebagai argumen berasingan.

Di sini --noproxy '*' meminta curl melangkau proksi untuk setiap destinasi. Gunakan senarai hos yang dimaksudkan sebaliknya apabila hanya destinasi terpilih perlu terus.

Skalar yang mengandungi teks seperti curl --noproxy '*' tidak mengekalkan struktur yang sama. Tanda petikan yang terhasil daripada peluasan pemboleh ubah ialah aksara biasa pada peringkat itu; Bash tidak menghurai semula secara automatik sebagai sintaks petikan. Fungsi ialah tempat lain yang sesuai untuk pilihan tetap apabila ia memajukan argumennya dengan "$@".

Artikel berkaitan