ใช่มีวิธีที่จะทำ แต่ไกลจากที่เห็นได้ชัดเพราะมันเกี่ยวข้องกับ 3 ตัวเลือกขด:
curl -s --fail --show-error https://httpbin.org/status/200 > /dev/null
curl -s --fail --show-error https://httpbin.org/status/401 > /dev/null
curl -s --fail --show-error https://httpbin.org/status/404 > /dev/null
curl -s --fail --show-error https://bleah-some-wrong-host > /dev/null
สิ่งนี้ทำให้มั่นใจได้ว่าความสำเร็จ (0) เกิดขึ้นเฉพาะเมื่อ curl-end เราด้วย2xx
รหัสส่งคืนสุดท้ายและstdout
ทำให้ร่างกายได้รับและข้อผิดพลาดใด ๆ จะถูกแสดงไปยัง stderr
โปรดทราบว่าเอกสาร curl อาจทำให้คุณสับสนเล็กน้อยเนื่องจากระบุว่า - ไฟล์อาจประสบความสำเร็จสำหรับรหัส 401 บางรหัส จากการทดสอบที่ไม่เป็นความจริงอย่างน้อยก็ไม่ได้เมื่อใช้กับ --show-error ในเวลาเดียวกัน
จนถึงตอนนี้ฉันไม่สามารถค้นหากรณีใด ๆ ที่ขดจะกลับมาประสบความสำเร็จเมื่อมันไม่ใช่ http-succeds กับตัวเลือกเหล่านี้