Как найти IP-адрес моего компьютера с помощью оболочки bash? - PullRequest
25 голосов
/ 10 мая 2009

Время от времени мне нужно запускать сервер разработки Django и просматривать его на других машинах в моей сети, как описано здесь:

http://docs.djangoproject.com/en/dev/ref/django-admin/#runserver

IP-адрес моей машины имеет тенденцию меняться время от времени, поэтому я хотел бы иметь небольшой псевдоним оболочки или что-то, что выплевывает команду manage.py с текущим IP-адресом моей машины, возможно, так:

python manage.py runserver $(COMMAND TO FIND MY MACHINE’S IP ADDRESS GOES HERE):8000

Ответы [ 15 ]

1 голос
/ 29 августа 2012

Попробуйте это (если вы пользователь Arch)

resolveip -s $HOSTNAME

Альтернативный

Для получения адреса IPv4 вы можете использовать:

host $(uname -n) | grep "address" | grep -v "IPv6" | head -n 1 | awk '{print $4}'

Для получения IPv6 один:

host $(uname -n) | grep "IPv6 address" | head -n 1 | awk '{print $5}'

Вы можете заменить $ (uname -n) на $ (имя хоста), если хотите.

0 голосов
/ 12 декабря 2018

Простая команда для точного определения IP-адреса с интерфейсом по умолчанию.

ip route | grep src | awk -F 'src' '{print $NF; exit}' | awk '{print $1}'

Протестировано на всех ОС Unix

0 голосов
/ 16 июля 2015

Напомним: если вы хотите copy/paste в командной строке и просто получить сетевой IP-адрес, вот что работает на Mac (по WiFi):

echo $(ifconfig en0 | grep inet | grep -v inet6 | cut -d" " -f2)

Вот его назначение переменной сценария bash:

LOCAL_IP=$(ifconfig en0 | grep inet | grep -v inet6 | cut -d" " -f2)

Это основано на ответах Валентина Роше и Мэтта Кропмтона

0 голосов
/ 13 февраля 2015

Это проверяет ваш интерфейс по умолчанию и использует его для получения вашего основного ip. Полезно, когда у вас много интерфейсов и множество виртуальных IP-адресов:

netstat -rn | gawk '/UG/ {print $NF}' | xargs ifconfig | gawk 'match($0,/inet addr:(.*) B/,a) {print a[1]}'
0 голосов
/ 23 октября 2010

Вот решение, чтобы найти текущий IP-адрес:

route -n get default|grep interface|awk ‘{ print $2 }’|xargs ipconfig getifaddr

проверено только на Mac.

...