
Quiero depurar un script que contiene variables de Networkmanager-dispacher como DEVICE_IFACE, IP4_GATEWAY. ElManual del administrador de reddescribe estas variables pero no menciona cómo depurarlas.
Busqué mucho pero no puedo encontrar cómo obtener el valor de estas variables. Cuando hago eco en la línea de comando como echo ${DEVICE_IFACE} no obtengo ningún valor.
Respuesta1
En la NetworkManager
página del manual a la que te refieres, se indica:
El entorno contiene más información sobre la interfaz y la conexión. Las siguientes variables están disponibles para su uso en los scripts del despachador:
[...]
DEVICE_IFACE
Entonces, este entorno obviamente lo configura Dispatcher.d y solo es accesible para los scripts iniciados desde allí.
Por ejemplo, podrías poner esta línea en un archivo en /etc/NetworkManager/dispatcher.d
:
echo "interface $DEVICE_IFACE" > /tmp/myscript.log
Aún consultando la página del manual de NetworkManager
, deberá hacer que sea propiedad del root, ejecutable y que no pueda ser escrito por el grupo u otros, por ejemplo:
# chown root:root /etc/NetworkManager/dispatcher.d/myscript
# chmod a+x /etc/NetworkManager/dispatcher.d/myscript
# chmod go-w /etc/NetworkManager/dispatcher.d/myscript
Luego, al reiniciar NetworkManager, debería leer algo como "interfaz wlan0" en /tmp/myscript.log
.
Respuesta2
Systemd registra la salida de los scripts del despachador; puedes verlo con sudo journalctl -u NetworkManager-dispatcher
. Así que simplemente haga eco de las variables y luego mire el registro.
Una respuesta similar a una pregunta similar se puede encontrar enhttps://serverfault.com/a/1056299/310447