Как отладить Networkmanager-dispatcher-variables

Как отладить Networkmanager-dispatcher-variables

Я хочу отладить скрипт, содержащий Networkmanager-dispacher-переменные, такие как DEVICE_IFACE, IP4_GATEWAY.Networkmanager-руководствоописывает эти переменные, но не упоминает, как их отлаживать.

Я много искал, но не могу понять, как получить значение этих переменных. Когда я вывожу команду echo в командной строке, например echo ${DEVICE_IFACE}, я не получаю никакого значения.

решение1

На NetworkManagerстранице руководства, на которую вы ссылаетесь, указано:

Среда содержит больше информации об интерфейсе и соединении. Следующие переменные доступны для использования в скриптах диспетчера:
[...]
DEVICE_IFACE

Таким образом, эта среда, очевидно, настраивается диспетчером.d и доступна только скриптам, запущенным оттуда.

Например, вы можете поместить эту строку в файл /etc/NetworkManager/dispatcher.d:

echo "interface $DEVICE_IFACE" > /tmp/myscript.log

Продолжая ссылаться на страницу руководства NetworkManager, вам нужно будет сделать его владельцем root, исполняемым и запретить запись группе или другим пользователям, например:

# chown root:root /etc/NetworkManager/dispatcher.d/myscript

# chmod a+x /etc/NetworkManager/dispatcher.d/myscript

# chmod go-w /etc/NetworkManager/dispatcher.d/myscript

Затем, перезапустив NetworkManager, вы должны увидеть что-то вроде «interface wlan0» в /tmp/myscript.log.

решение2

Вывод скриптов диспетчера регистрируется systemd; вы можете просмотреть его с помощью sudo journalctl -u NetworkManager-dispatcher. Так что просто выведите переменные и посмотрите на журнал.

Похожий ответ на аналогичный вопрос можно найти по адресуhttps://serverfault.com/a/1056299/310447

Связанный контент