Di Bash, array mempertahankan argumen untuk pemanggilan curl yang dapat dipakai ulang:

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

Tanda kutip tunggal melindungi tanda bintang saat array dibuat. Itu adalah sintaks shell, jadi array menyimpan satu karakter * literal. Ekspansi array dalam tanda kutip ganda kemudian memberikan setiap elemen sebagai argumen terpisah.

Di sini --noproxy '*' meminta curl untuk melewati proxy untuk setiap tujuan. Gunakan daftar host yang dimaksudkan bila hanya tujuan terpilih yang harus langsung.

Skalar yang berisi teks seperti curl --noproxy '*' tidak mempertahankan struktur yang sama. Tanda kutip yang dihasilkan dari ekspansi variabel adalah karakter biasa pada tahap itu; Bash tidak otomatis mengurainya lagi sebagai sintaks kutipan. Fungsi adalah tempat lain yang cocok untuk opsi tetap ketika meneruskan argumennya dengan "$@".

Artikel terkait