Допустим, я запускаю команду ifconfig
для моей подключенной сети .
Как заставить сценарий bash использовать эту команду и найти, что идет после inet
, netmask
и broadcast
, и распечатать эти IP-адреса в списке в терминал без отображения команды ifconfig
. Поэтому, когда скрипт запускается, он выводит только 3 IP-адреса выбранной сети.
Здесь используйте следующие сценарии для связывания IP-адресов с inet
, netmask
, и broadcast
строки в выводе ifconfig
команда. Обратите внимание, я использую wlp3s0
сетевой интерфейс как пример
для показа адреса inet просто выполняет следующую команду в связанном интерфейсе т.е. заменяют wlp3s0
с названием Вашего интерфейса подключенной сети:
1. inet
ifconfig wlp3s0 | grep -o -e "inet\ addr:\([0-9]\{1,3\}.\)\{3\}.[0-9]\{1,3\}" | grep -o -e "\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}"
2. сетевая маска
ifconfig wlp3s0 | grep -o -e "Mask:\([0-9]\{1,3\}.\)\{3\}.[0-9]\{1,3\}" | grep -o -e "\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}"
3. широковещательная передача
ifconfig wlp3s0 | grep -o -e "Bcast:\([0-9]\{1,3\}.\)\{3\}.[0-9]\{1,3\}" | grep -o -e "\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}"
кроме того, если Вы хотите произвести MAC-адрес интерфейса, используйте следующую команду:
ifconfig wlp3s0 | grep -o -e "HWaddr \([0-9a-f]\{2\}:\)\{5\}[0-9a-f]\{2\}" | grep -o -e "\([0-9a-f]\{2\}:\)\{5\}[0-9a-f]\{2\}"