Como depurar as variáveis ​​do Networkmanager-dispatcher

Como depurar as variáveis ​​do Networkmanager-dispatcher

Quero depurar um script que contém variáveis ​​​​do Networkmanager-dispacher como DEVICE_IFACE, IP4_GATEWAY. OManual do gerenciador de rededescreve essas variáveis, mas não menciona como depurá-las.

Pesquisei muito, mas não consigo descobrir como obter o valor dessas variáveis. Quando faço eco na linha de comando como echo ${DEVICE_IFACE} não obtenho nenhum valor.

Responder1

Na NetworkManagerpágina de manual a que você está se referindo, está indicado:

O ambiente contém mais informações sobre a interface e a conexão. As seguintes variáveis ​​estão disponíveis para uso nos scripts do dispatcher:
[...]
DEVICE_IFACE

Portanto, este ambiente é obviamente configurado pelo dispatcher.d e acessível apenas a scripts iniciados a partir daí.

Por exemplo, você poderia colocar esta linha em um arquivo em /etc/NetworkManager/dispatcher.d:

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

Ainda referindo-se à página de manual do NetworkManager, você precisará torná-la propriedade do root, executável e não gravável por grupo ou outros, por exemplo:

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

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

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

Então, reiniciando o NetworkManager, você deverá ler algo como "interface wlan0" no arquivo /tmp/myscript.log.

Responder2

A saída dos scripts do despachante é registrada pelo systemd; você pode visualizá-lo com sudo journalctl -u NetworkManager-dispatcher. Então, apenas faça eco das variáveis ​​​​e observe o log.

Uma resposta semelhante a uma pergunta semelhante pode ser encontrada emhttps://serverfault.com/a/1056299/310447

informação relacionada