Quiero depurar un script que coloqué /etc/pm/sleep.d
. En mi script emito un echo
comando para informar el estado.
¿Dónde puedo leer este resultado? ¿Estoy pensando en algo así como dmesg
o en un archivo /var/log
tal vez?
¿Es esta la mejor manera? ¿Cuál es la práctica estándar al depurar scripts bash que se supone que debe ejecutar el sistema (como los de /etc/init.d/
o . Xinit
)?
Respuesta1
Descubrí que en lugar de usar echo
, puede usar logger
para enviar comandos al registro del sistema con el fin de depurar.
logger "Oh no"
Luego, puede verificar el resultado en /var/log/syslog
sudo tail /var/log/syslog
Respuesta2
Como ya mencionaste, tienes una declaración de eco en tu script.
Ahora edite su script y esto como al principio del archivo después del shebang.
> /tmp/myoutput
myoutput es solo un nombre de archivo en el montaje /tmp, puedes elegir lo que quieras.
Después de esto, dondequiera que tengas una declaración de eco en tu script como esta
echo "something"
cambiarlo a
echo "something" >> /tmp/myoutput
Eso es todo, de modo que cada vez que se ejecute su secuencia de comandos, tendrá un seguimiento más reciente de lo que sucedió con su secuencia de comandos.