ฉันกำลังทำงานกับสคริปต์อัตโนมัติบางตัวเพื่อกำหนดการตั้งค่าเครือข่ายเนื้อหาไฟล์โฮสต์และไฟล์ / etc / resolver เมื่อเข้าถึงเครือข่ายอื่นที่ฉันใช้บ่อย
มีชุดค่าผสมบางอย่างที่อาจเกิดขึ้นได้ว่าทุกอย่างต้องมีการเปลี่ยนแปลงไฟล์โฮสต์และฉันต้องการหลีกเลี่ยงการตั้งค่าเมทริกซ์ของชุดค่าผสมที่แตกต่างกันโดยทำซ้ำการตั้งค่าที่ใช้ร่วมกันทั่วสถานที่
ตัวอย่างเช่นฉันอาจอยู่ในเครือข่ายงานเช่น ในอาคารหรือฉันสามารถเข้าถึงได้ผ่าน VPN ในทั้งสองกรณีฉันต้องเพิ่มการตั้งค่าบางอย่างลงในไฟล์โฮสต์เพื่อให้ระบบเครือข่ายทำงานได้อย่างถูกต้องมีการแชร์บางอย่างไม่ได้ นอกจากนี้ถ้าฉันมากกว่า VPN ผมอาจจะเป็นที่บ้านซึ่งในกรณีที่มีบางส่วนตั้งค่าอื่น ๆ ในไฟล์โฮสต์ฉันยังต้องการที่จะเพิ่ม
ดังนั้นฉันหวังว่าแทนที่จะสร้างไฟล์หนึ่งไฟล์สำหรับ "บ้านเข้าถึงงานผ่าน VPN" กับ "บ้านไม่เข้าถึงงาน" ฯลฯ มีวิธีที่จะรวมไฟล์อื่น ๆ หรือไม่
ตัวอย่างเช่นสมมติว่าไวยากรณ์สมมุติฐานต่อไปนี้ใช้งานได้:
#!include home.hosts
#!include work.hosts
127.0.0.1 localhost
::1 localhost
ด้วยวิธีนี้ฉันสามารถลบเนื้อหาของไฟล์เสริมหนึ่งไฟล์หรือทั้งสองไฟล์จากนั้นก็เหลือ
หรือว่ามีวิธีที่ดีกว่าในการทำเช่นนี้เพียงแค่สร้างสคริปต์ขนาดเล็กที่เชื่อมไฟล์ต่าง ๆ เช่นไฟล์ลงในไฟล์โฮสต์ใหม่และเป็นส่วนหนึ่งของการตั้งค่าระบบอัตโนมัติของฉันฉันจะลบไฟล์เพิ่มเติมบางไฟล์ แล้วฉันจะเรียกใช้สคริปต์เพื่อสร้างไฟล์โฮสต์เดียวจากไฟล์พิเศษเหล่านั้นหรือไม่
dscl
คำสั่งฉันจะต้องทำการวิจัยเกี่ยวกับเรื่องนั้นเช่นกัน
dscl
งานได้ซึ่ง/etc/hosts
เป็นเพียงหนึ่งในแหล่งข้อมูลที่มีอยู่โดยให้การแมปชื่อโฮสต์ / ที่อยู่ IP (แน่นอน) การตั้งค่าสคริปต์ที่เขียนdscl
และล้างข้อมูลแคชอาจทำงานได้ดีขึ้นในสถานการณ์ของคุณมากกว่าการเก็บสำเนาไฟล์โฮสต์หลายชุดหรือเขียนใหม่ตลอดเวลา
dscl
โดยตรง