Я использую Linux Mint 17 и делаю сценарий Conky . Я хотел бы, чтобы он отображал имя хоста маршрутизатора / точки доступа, к которой я подключен. Я просто не знаю команду Linux, чтобы получить ее.
2 ответа
РЕДАКТИРОВАТЬ: только что понял, что запрос был о конкретном скрипте Conky после публикации этого ответа на основе Bash. Оставьте это здесь на всякий случай, если это будет полезно.
Имя хоста для роутера? Уверен, что это невозможно, поскольку большинству шлюзов не назначено имя хоста или даже не выдано имя хоста. Но вы можете получить IP-адрес, используя route
по grep
и awk
следующим образом:
route | grep "default" | awk '{ print $2 }'
Это даст вам чистый IP-адрес маршрутизатора. Теперь, если вы хотите MAC-адрес, просто сделайте это с помощью arp
и эта команда снова смешается с grep
и awk
:
arp -a | grep $(route | grep "default" | awk '{ print $2 }') | awk '{ print $4 }'
И если вы хотите присвоить эти значения переменным Bash, просто сделайте это для IP-адреса маршрутизатора:
ROUTER_IP=$(route | grep "default" | awk '{ print $2 }')
И сделайте это для MAC-адреса:
ROUTER_MAC=$(arp -a | grep $(route | grep "default" | awk '{ print $2 }') | awk '{ print $4 }')
И тогда вы можете использовать эти присвоенные значения, ссылаясь на $ROUTER_IP
и $ROUTER_MAC
. Например, если вы только что запустили эти два назначения переменных, просто запустите эти команды echo
из командной строки следующим образом:
echo $ROUTER_IP
echo $ROUTER_MAC
Имя хоста и ESSID
- это две разные вещи.
Но если вы используете Conky и хотите ESSID
это будет примерно так:
${offset 60}${font Ubuntu:size=12,weight:normal}${color1}Wlan0: ${wireless_essid wlan0}
Поскольку теперь мне ясно, вы на самом деле имеете в виду имя хоста внешнего IP-адреса точки доступа, а не путаницу имени хоста и ESSID.
Вы можете создать скрипт и поместить его в .conky/script
mkdir ~/.conky/scripts
gedit ~/.conky/scripts/hostname.sh
#!/bin/bash
dig +short myip.opendns.com @resolver1.opendns.com | xargs dig +short -x
Сделайте его исполняемым chmod +x ~/conky/scripts/hostname.sh
добавьте в свой .conkyrc
что-то вроде
${offset 60}${font Ubuntu:size=12,weight:normal}${color1}Hostname: ${execi 10000 ~/.conky/scripts/hostname.sh}