
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 NetworkManager
pá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