У меня есть сценарий удара, который проверяет мою сетевую среду и монтирует доли соответственно. Если бы я работаю, и имейте соединять проводами соединение с LAN, то я хотел бы активировать соединение горячей точки для беспроводных устройств в моем офисе.
Вот сценарий:
#!/bin/bash
# are we at home?
if [ "$(ping -q -c1 00.00.00.00)" ]; then
mount <home shares>
# well then are we on campus?
elif [ "$(ping -q -c1 00.00.00.00)" ]; then
mount <work shares>
# if we're on campus, then are we connected to an ethernet cable?
if [ "$(nmcli dev list iface eth0 | grep GENERAL.CONNECTION)" != "GENERAL.CONNECTION: not connected" ]; then
nmcli con up uuid <uuid> iface wlan0
fi
fi
nmcli управляют сбоями; существует несколько проблем.
nmcli инструмент, кажется, не позволяет разъединять беспроводное соединение произвольно. Можно сделать nmcli con down
но только если можно указать <id>
или <uuid>
. В моей среде wlan0 соединится с одной из нескольких беспроводных сетей несколько произвольно.
nmcli dev disconnect
работы с указанным <iface>
но, кажется, предотвращает повторное подключение к чему-либо кроме ручным выбором. Повторное подключение в сценарии удара, кажется, не работает.
nmcli con up
команда (в настоящее время в сценарии выше), кажется, не работает если <iface>
уже установил соединение.
Любые предложения о том, как использовать nmcli
вызвать указанное <uuid>
соединение, когда неуказанное <uuid>
соединение было уже установлено? Был бы что-то помимо nmcli будет работать лучше?
Спасибо!