ในนิยามบริการ systemd ให้เก็บการกำหนดค่าสภาพแวดล้อมทั้งหมดไว้ภายในเครื่องหมายคำพูดของไฟล์ unit:

[Service]
Environment="NO_PROXY=localhost,127.0.0.1,::1,intranet.example"

เครื่องหมายจุลภาคเป็นส่วนหนึ่งของค่าของ NO_PROXY systemd จะลบเครื่องหมายคำพูดที่ล้อมรอบออกขณะสร้างสภาพแวดล้อม ไคลเอนต์เครือข่ายจะได้รับรายการแล้วจึงตีความไวยากรณ์การข้ามของตนเอง การเริ่มเครื่องหมายคำพูดอีกชุดกลางรายการที่อยู่ในเครื่องหมายคำพูดอยู่แล้วไม่ได้สร้างชั้นการอ้างอิงของ shell แยกต่างหาก

ไฟล์ unit ไม่ใช่สคริปต์ shell ข้อความ export หรือชื่อตัวแปรที่คุ้นเคยไม่ได้ให้การขยายของ shell ในคำสั่ง Environment=

  1. ตรวจสอบการกำหนดค่าบริการที่มีผลจริงในเครื่อง โดยปิดบังข้อมูลลับ
  2. หลังจากแก้ไขแล้ว โหลดนิยามบริการใหม่และใช้ขั้นตอนรีสตาร์ตปกติของบริการที่ได้รับผลกระทบ วางแผนผลกระทบต่องานที่กำลังทำอยู่ โดยเฉพาะกับเดมอนอิมเมจที่ใช้ร่วมกัน
  3. ยืนยันว่าค่าที่ต้องการไปถึงโปรเซสใหม่ การโหลดไฟล์ unit ใหม่เพียงอย่างเดียวไม่สามารถแทนที่สภาพแวดล้อมของโปรเซสที่มีอยู่ได้

จากนั้นจึงตรวจสอบการจับคู่โดเมนหรือซับเน็ตของไคลเอนต์ รายการที่ทำงานในเทอร์มินัลอาจไม่เคยไปถึงบริการในรูปแบบเดียวกันเลย

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