Score:0

เชลล์สคริปต์เพื่อตรวจสอบ resolv.conf

ธง eg

ฉันต้องเขียนเชลล์สคริปต์ที่ตรวจสอบเนื้อหาของ resolv.conf

เช่น

โดเมน example.com
ค้นหา abc.com abc.org abc.net
เนมเซิร์ฟเวอร์ 1.1.2.2
เนมเซิร์ฟเวอร์ 3.3.4.4

abc.คอม/abc.org/abc.net สามารถปรากฏในลำดับใดก็ได้

เนมเซิร์ฟเวอร์ บรรทัดสามารถปรากฏในลำดับใดก็ได้

อาจมีช่องว่างระหว่างพารามิเตอร์

ตรรกะที่ใช้ตรวจสอบการกำหนดค่าคืออะไร

เช่น ถ้า abc.คอม หายไป ควรเน้นว่า abc.com หายไป

Tilman Schmidt avatar
bd flag
งานนั้นไม่ได้กำหนดไว้อย่างดี คุณต้องการตรวจสอบ resolv.conf เพื่ออะไรกันแน่ นอกจากนี้ ต้องเป็นเชลล์สคริปต์หรือไม่ และถ้าใช่ เชลล์ใด กระสุนมาตรฐานไม่เหมาะกับงานนี้มากนัก ภาษาสคริปต์เช่น Perl หรือ Python จะเข้ากันได้ดีกว่า
djdomi avatar
za flag
หรือโรงงานเขียนทับ resolution.conf ของเป้าหมายโดยไม่คำนึงถึง?
in flag
คุณควรดูที่การจัดการการกำหนดค่า
Score:2
ธง us
Rob

การตรวจสอบพื้นฐานที่สุดเพื่อดูว่าไฟล์มีรูปแบบเฉพาะหรือไม่ เกรป ยูทิลิตีบรรทัดคำสั่ง

ด้วยค่าสถานะและตัวเลือกที่ถูกต้อง คุณสามารถสร้างสคริปต์พื้นฐานที่ทำบางสิ่งตามบรรทัดของรหัสหลอกต่อไปนี้:

# แบ่งองค์ประกอบที่คุณต้องการ 
# ในรูปแบบนิพจน์ทั่วไปพื้นฐาน 
#และเก็บไว้ในอาร์เรย์

MyRequiredEntries=("nameserver\s*1.1.2.2" "nameserver\s*3.3.4.4" "domain\s*example.com" "search\s.*abc\.com" "search\s.*abc\. สุทธิ")

# วนซ้ำองค์ประกอบอาร์เรย์ 

สำหรับ MyEntry ใน "${MyRequiredEntries[@]}" 
ทำ 
   
   # ใช้รหัสทางออกของ grep -q สำหรับตรรกะเพิ่มเติม 

   grep -q "$MyEntry" /etc/resolv.conf

   ผลลัพธ์ของฉัน=$?

   ถ้า [ $MyResult -eq 0 ] ; แล้ว 
      echo "ทำบางอย่างเมื่อ resolv.conf มีรูปแบบ $MyEntry" 
   อื่น 
      echo "ทำบางอย่างเมื่อ resolv.conf ไม่มีรูปแบบ $MyEntry" 
   ไฟ 
เสร็จแล้ว

ซึ่งแน่นอนว่าสามารถปรับแต่งได้ตามความต้องการของคุณ


ตามที่คนอื่นแสดงความคิดเห็น: แทนที่จะทำเกม "ค้นหาความแตกต่าง" คุณอาจต้องการย้อนกลับไปและคิดว่าเหตุใดคุณจึงทำการทดสอบนี้และสิ่งที่คุณตั้งใจจะทำกับสิ่งที่คุณค้นพบ

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

ข้อสังเกตประการหนึ่ง: เมื่อ (บางส่วน) ระบบของคุณได้รับการกำหนดค่าด้วย DHCP คุณอาจต้องการเริ่มต้นด้วยการกดการตั้งค่าที่ถูกต้องจากที่นั่น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา