ฉันทำงานเป็นจำนวนมากบนเครื่องเสมือนจริงและมีสคริปต์หลายตัวที่จะช่วยฉันกำหนดค่าได้อย่างรวดเร็ว ฉันสามารถหมุน VM แบบไร้หัวได้โดยอัตโนมัติยกเว้นว่าฉันต้องรู้ IP ของเครื่องโฮสต์ของฉันเพื่อกำหนดค่าสิ่ง VNC
ฉันใช้หนึ่งในสองคำสั่งต่อไปนี้เพื่อรับที่อยู่ IP ปัจจุบัน:
ipconfig getifaddr en1 # For IP address assigned to wireless
ipconfig getifaddr en0 # For IP address assigned to ethernet
ปัญหาคือฉันต้องบอกสคริปต์ของฉันว่าจะใช้ en0 หรือ en1 ฉันใช้ไร้สายที่บ้านและอีเธอร์เน็ตในที่ทำงานดังนั้นฉันจึงไม่สามารถสันนิษฐานได้
ฉันสามารถใช้:
ifconfig | grep '192'
และแยกบรรทัดผลลัพธ์ (ทั้งที่ทำงานและบ้านกำหนดที่อยู่คลาส C) แต่ฉันไม่ต้องการทำเช่นนั้น
มีวิธีการตรวจสอบว่า NIC ใดที่เชื่อมต่อกับเครือข่ายจากบรรทัดคำสั่งหรือไม่ หรืออย่างน้อยก็เป็นวิธีที่ดีกว่าในการพิจารณาโฮสต์ IP
เครื่องของฉันใช้ Mountain Lion หากมีความเกี่ยวข้อง
ipconfig getifaddr en0
เพื่อดูว่ามีการเชื่อมต่อสายเคเบิลหรือไม่ (ไม่มีสายเคเบิลฉันจะไม่ได้อะไรคืนมาถ้าฉันใช้คำสั่งนั้น)