Shell script หาค่า IP กับ MAC Address

จาก Wiki Opensource

ปรับปรุงครั้งล่าสุดวันที่ 7-6-2561
เขียนโดย วิบูลย์

  • ทดสอบกับ Ubuntu server 16.04, 18.04
  • ทดสอบกับ Bash for Windows 10
  • ทดสอบกับ System rescued CD 5.2.2
  • ทดสอบกับ Cygwin for Windows จะใช้ ipconfig แต่ไม่มีคำสั่ง ip นี้ให้ใช้งาน


เนื่องจากคำสั่ง ifconfig มีการเปลี่ยนแปลงผลลัพธ์ไปตามรุ่นของ linux server
ทำให้ได้ค่าที่ผิดพลาด หากนำ shell script ที่เคยรันได้บน ubuntu 16.04 ไปรันบน 18.04
จึงค้นหาดู พบว่ามีคำสั่ง ip ซึ่งจะมีรูปแบบตายตัว ไม่ว่าจะรันกับ linux ค่ายใด หรือ ubuntu รุ่นใดก็ตาม

ตัวอย่างเช่น หาก network interface คือ eth0

หา IP
ip -4 address show dev eth0 | grep inet | awk '{ print $2 }' | cut -f1 -d/
หา MAC
ip link show dev eth0 | grep link | awk '{ print $2 }'