2016-04-01 22 views
1

如前所述here因爲Ubutnu 15.10有支持網絡接口的一些不同的命名方案:預測接口名稱開始從ubuntu的15.10

摻入固件/ BIOS提供索引號爲車載 設備(例如
  • 名稱: ENO1)將固件/ BIOS
  • 名稱提供的PCI Express插槽熱插拔 索引號(例如:ENS1)
  • 名稱結合硬件的 連接器的物理/地理位置(例如xample:enp2s0)
  • 名稱結合接口的MAC地址(例如: enx78e7d1ea46da)
  • 經典,不可預知的內核本地的ethX命名(例如:爲eth0) - 貶值

我寫一個腳本需要接口名稱使用grep:

if_name=$(ls /sys/class/net | grep "en") 

,然後將其更改爲ETH。我已經在幾臺機器上測試了腳本,這很好,但有沒有可能現在界面名稱可以從另一個字母開始,而我上面的命令不起作用?如果是這樣,有沒有更好的選擇?

+0

是的,有:

* en -- Ethernet * sl -- serial line IP (slip) * wl -- wlan * ww -- wwan 

此外,找出你主接口名稱的最好方式比爲它做一些bash腳本更好的方法。看看爲什麼/如何完成[這裏](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/),特別是「我不喜歡這個,我該怎麼做禁用這個?「 – jbm

+0

謝謝,這正是我在我的腳本中所做的,但在此之前,我需要調用當前接口名稱和當前MAC地址,它屬於它的名稱。 –

+0

是的,這就是爲什麼你不想在script_中這樣做,而是在系統啓動時自動_,在「我不喜歡這個,我該如何禁用它?」中的指針之後。我提供的鏈接。否則,你有雞和雞蛋的問題。 – jbm

回答

0

好吧,我發現here,基於接口的類型二字的前綴:

route |grep default |awk ' {print $8} '