Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?  (Прочитано 4309 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн fsdbs

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
в Скрипте извлекаю из сетевой карточки присвоенные ему IP  адрес..
но перед извлечением не поверяю есть ли у меня это устройство в системе вообще.. как можно ппроверить?
достаточно ли верно будет проверить наличия файла \dev\eth0  ??


Оффлайн Просто Царь

  • Активист
  • *
  • Сообщений: 936
    • Просмотр профиля
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #1 : 16 Сентября 2009, 09:27:03 »
во-первых лучше приведи скрипт, тот что уже написал. а вообще например можно проверить поиском например в выводе команды ifconfig упоминание имени интерфейса.


ЗЫ. А как это у тебя вообще скрипт может вернуть адрес не существующего интерфейса если так подумать?

Оффлайн fsdbs

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #2 : 16 Сентября 2009, 09:32:11 »
все верно. не возвращает.. на основе этого вывода опрашиваю дальше по очереди... пока не получу Ip. просто корректно хотелось бы проверить сначала..

Оффлайн Просто Царь

  • Активист
  • *
  • Сообщений: 936
    • Просмотр профиля
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #3 : 16 Сентября 2009, 09:42:22 »
ну и проверяй по выводу ifconfig. нашел в нем строчку eth0 - есть такой, не нашел - нету значит.
искать можно попробовать например с помощью grep. скрипт я понимаю на bash пишешь?
« Последнее редактирование: 16 Сентября 2009, 09:44:11 от dmitriy_blond »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #4 : 16 Сентября 2009, 10:03:07 »
ifconfig | grep "eth"

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #5 : 16 Сентября 2009, 10:39:34 »
cat /etc/network/interfaces
grep iface /etc/network/interfaces

Этот файл, собственно, основоположник.
Он либо заполняется руками, либо генерируется NetworkManager-ом.
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн Просто Царь

  • Активист
  • *
  • Сообщений: 936
    • Просмотр профиля
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #6 : 16 Сентября 2009, 10:41:50 »
ifconfig | grep "eth"
ну это найдет только eth, а надо передавать имя конкретного интерфейса
вот например вот так
ifconfig | grep eth*должен быть выдан список всех имеющихся eth

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #7 : 16 Сентября 2009, 11:03:54 »
al@ubuntu-desktop1:~$ ifconfig | grep "eth"
eth0      Link encap:Ethernet  HWaddr 00:17:31:54:68:98 
al@ubuntu-desktop1:~$

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #8 : 16 Сентября 2009, 11:06:27 »
ifconfig | grep "eth"
ну это найдет только eth, а надо передавать имя конкретного интерфейса
Нет, это найдет все строки, где содержится eth, в том числе и eth0, eth1  и т.п.

вот например вот так
ifconfig | grep eth*должен быть выдан список всех имеющихся eth

А над этим потрудится bash и развернет eth* в список файлов, начинающихся на eth и находящихся в текущем каталоге.
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн Sir Ruf

  • Активист
  • *
  • Сообщений: 326
    • Просмотр профиля
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #9 : 16 Сентября 2009, 11:13:27 »
ifconfig | grep "eth"
ну это найдет только eth, а надо передавать имя конкретного интерфейса
с grep -w eth перепутал  ;)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #10 : 16 Сентября 2009, 11:36:57 »
Практика - критерий истины.
 
al@ubuntu-desktop1:~$ ifconfig | grep eth*
br0       Link encap:Ethernet  HWaddr 00:17:31:54:68:98 
          inet addr:192.168.10.85  Bcast:192.168.15.255  Mask:255.255.240.0
          inet6 addr: fe80::217:31ff:fe54:6898/64 Диапазон:Ссылка
          ВВЕРХ BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:154289 errors:0 dropped:0 overruns:0 frame:0
          TX packets:45928 errors:0 dropped:0 overruns:0 carrier:0
eth0      Link encap:Ethernet  HWaddr 00:17:31:54:68:98 
          inet addr:192.168.10.91  Bcast:192.168.15.255  Mask:255.255.240.0
          inet6 addr: fe80::217:31ff:fe54:6898/64 Диапазон:Ссылка
          ВВЕРХ BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:160775 errors:0 dropped:0 overruns:0 frame:0
          TX packets:45951 errors:0 dropped:0 overruns:0 carrier:0
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Диапазон:Узел
          ВВЕРХ LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:89 errors:0 dropped:0 overruns:0 frame:0
          TX packets:89 errors:0 dropped:0 overruns:0 carrier:0
vbox1     Link encap:Ethernet  HWaddr 82:c5:d3:c9:14:ce 
          inet6 addr: fe80::80c5:d3ff:fec9:14ce/64 Диапазон:Ссылка
          ВВЕРХ BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:77399 overruns:0 carrier:0
al@ubuntu-desktop1:~$

Оффлайн Просто Царь

  • Активист
  • *
  • Сообщений: 936
    • Просмотр профиля
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #11 : 16 Сентября 2009, 11:50:15 »
нуда  ;) обшибся. на работе винда проверить не где

Оффлайн Frank

  • Старожил
  • *
  • Сообщений: 1799
  • Профессиональный любитель
    • Просмотр профиля
    • Народный форум Николаева
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #12 : 16 Сентября 2009, 12:07:59 »
ifconfig | grep "inet addr" |awk  '{ print $2 }' | sed s/addr://g

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #13 : 16 Сентября 2009, 12:15:57 »
ifconfig | grep "inet addr" |awk  '{ print $2 }' | sed s/addr://g
Вах, как сложно-то все.
Все в awk-е можно сделать, без продолжения конвейеров.

 ifconfig | awk '/inet addr/{print (gensub(/addr:/,"","g",$2))}'
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн Frank

  • Старожил
  • *
  • Сообщений: 1799
  • Профессиональный любитель
    • Просмотр профиля
    • Народный форум Николаева
Re: скриптом узнать есть ли у меня eth0 eth1 eth2 eth3 eth4 ?
« Ответ #14 : 16 Сентября 2009, 12:35:01 »
Спасибо, К.О. Я просто не помню синтаксиса awk :)

 

Страница сгенерирована за 0.016 секунд. Запросов: 21.