linux – ¿Se puede conectar un script bash a un archivo?

Pregunta:

Quiero que un script se suspenda a menos que se modifique / elimine un archivo determinado (o un archivo creado en un directorio determinado, o …). ¿Se puede lograr esto de una manera elegante? Lo más simple que me viene a la mente es un bucle que duerme un rato antes de volver a comprobar el estado, pero ¿tal vez hay una forma más elegante?

Respuesta:

En Linux, puede usar la función de inotify del kernel. Las herramientas para la creación de scripts se pueden encontrar allí: inotify-tools .

Ejemplo de uso de wiki:

#!/bin/sh

EVENT=$(inotifywait --format '%e' ~/file1) # blocking without looping
[ $? != 0 ] && exit
[ "$EVENT" = "MODIFY" ] && echo 'file modified!'
[ "$EVENT" = "DELETE_SELF" ] && echo 'file deleted!'
# etc...

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım