ใน Bash อาร์เรย์รักษาอาร์กิวเมนต์สำหรับการเรียก curl ที่ใช้ซ้ำได้:

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

เครื่องหมายอัญประกาศเดี่ยวปกป้องดอกจันขณะสร้างอาร์เรย์ มันเป็นไวยากรณ์ของเชลล์ อาร์เรย์จึงเก็บอักขระ * ตามตัวอักษรหนึ่งตัว จากนั้นการขยายอาร์เรย์ในอัญประกาศคู่จะส่งแต่ละสมาชิกเป็นอาร์กิวเมนต์แยก

ที่นี่ --noproxy '*' ขอให้ curl ข้ามพร็อกซีสำหรับทุกปลายทาง ให้ใช้รายชื่อโฮสต์ที่ต้องการแทนเมื่อมีเพียงปลายทางที่เลือกเท่านั้นที่ควรเชื่อมต่อโดยตรง

สเกลาร์ที่มีข้อความอย่าง curl --noproxy '*' ไม่รักษาโครงสร้างเดียวกัน อัญประกาศที่เกิดจากการขยายตัวแปรเป็นอักขระธรรมดาในขั้นนั้น Bash จะไม่แยกวิเคราะห์ซ้ำโดยอัตโนมัติเป็นไวยากรณ์อัญประกาศ ฟังก์ชันเป็นที่ที่เหมาะสมอีกแห่งสำหรับตัวเลือกคงที่เมื่อส่งอาร์กิวเมนต์ด้วย "$@"

บทความที่เกี่ยวข้อง