ใช้พร็อกซีอื่นสำหรับคำสั่ง shell เพียงคำสั่งเดียว
วางตัวแปรพร็อกซีก่อนคำสั่งเมื่อคุณต้องการเส้นทางชั่วคราวโดยไม่เปลี่ยนเชลล์แม่หรือแก้ไขไฟล์เริ่มต้น
คุณต้องการให้การดาวน์โหลดหนึ่งครั้งใช้พร็อกซีอื่น แล้วทุกอย่างกลับสู่ปกติ ไม่จำเป็นต้องแก้ไขไฟล์เริ่มต้นของเชลล์แล้วหวังว่าจะจำได้ว่าต้องย้อนกลับ
สำหรับคำสั่งภายนอกในเชลล์แบบ POSIX ให้วางการกำหนดค่าก่อนคำสั่ง:
https_proxy=http://proxy.example:8080 curl https://example.com/
ใช้ปลายทาง HTTP ที่ตั้งใจไว้สำหรับการดาวน์โหลดนั้น รายการพร็อกซี HTTP มีผู้สมัครสำหรับเส้นทางสาธารณะที่ได้รับอนุญาต การกำหนดค่าจะถูกส่งไปยังสภาพแวดล้อมของคำสั่งนั้น กระบวนการลูกสามารถสืบทอดค่าได้ แต่หลังคำสั่งสิ้นสุด การกำหนดค่าจะไม่แทนที่ค่าที่มีอยู่ของเชลล์แม่
ไคลเอนต์ยังคงเป็นผู้ตัดสินใจว่าจะอ่านอะไร
ไวยากรณ์ของเชลล์สร้างสภาพแวดล้อม ไม่ได้บังคับเส้นทางเครือข่าย ใช้ชื่อตัวแปรที่แอปพลิเคชันรองรับ ตัวแปรข้ามที่มีอยู่ ตัวเลือกคำสั่งที่ชัดเจน หรือการกำหนดค่าของแอปพลิเคชันเองอาจยังส่งผลต่อผลลัพธ์
เอกสารสภาพแวดล้อมของ Bash อธิบายพฤติกรรมของคำนำหน้าคำสั่ง คำสั่งที่เป็นฟังก์ชันของเชลล์ คำสั่งภายในพิเศษ หรือไวยากรณ์ของเชลล์อาจมีกฎขอบเขตเพิ่มเติม ดังนั้นตัวอย่างง่ายๆ ข้างต้นจึงจงใจใช้โปรแกรมภายนอก
สำหรับหลายคำสั่ง ให้ใช้เชลล์ย่อย
(
export http_proxy=http://proxy.example:8080
export https_proxy=http://proxy.example:8080
command-one
command-two
)
กลุ่มในวงเล็บทำงานด้วยสภาพแวดล้อมเชลล์ของตนเอง แทนที่ชื่อคำสั่งในตัวอย่างด้วยโปรแกรมที่คุณต้องการเรียกใช้ รูปแบบนี้หลีกเลี่ยงลำดับที่เปราะบางคือการบันทึกค่าเก่า เขียนทับ และกู้คืนด้วยมือหลังจากความล้มเหลวทุกกรณีที่อาจเกิดขึ้น
เก็บความลับออกจากตัวอย่างที่คัดลอกไปยังประวัติเชลล์ และจำไว้ว่า sudo สามารถกรองสภาพแวดล้อมได้ ตัวแปรที่คำสั่งภายนอกมองเห็นไม่ได้รับการส่งผ่านขอบเขตสิทธิ์ทุกขั้นโดยอัตโนมัติ ขอบเขตชั่วคราวและการเลือกพร็อกซีจริงยังคงเป็นคำถามที่แยกจากกัน