URL: https://linuxfr.org/forums/programmationautre/posts/probl%C3%A8me-avec-inotifytools Title: Problème avec inotifytools Authors: Jeanuel Date: 2008年07月09日T12:07:13+02:00 Tags: Score: 0 Salut, J'utilise inotifytools pour surveiller l'activité d'un répertoire que je souhaite "versionner". Du coup, je veux exclure tous les fichiers commençant par "." ou finissant par "~" J'ai trouvé que l'option suivante marche bien pour exclure les fichiers commençant par "." --exclude "^\./\." Par contre, pas moyen d'exclure ceux finissant pas ~. J'ai essayé les 2 versions suivantes sans succès. --exclude "[~]$" --exclude "\~$" J'ai posté ma question sur la ML de inotifytools mais c'est plutôt mort et limité à quelques messages par mois. Pourtant c'est un outils bien utile. Pour ceux que ça intéresse, voila ce que j'en fais : #!/bin/bash inotifywait -m -r --exclude ^\./\.hg/.* -e close_write -e move -e create -e delete . 2>/dev/null | while read FILE_PATH EVENT FILE_NAME do £spaces£ £/spaces£FILE_NAME="$FILE_PATH$FILE_NAME" £spaces£ £/spaces£FILE_NAME=${FILE_NAME#./} £spaces£ £/spaces£# git doesn't care about directories £spaces£ £/spaces£if [ -d "$FILE_NAME" ] £spaces£ £/spaces£then £spaces£ £/spaces£continue £spaces£ £/spaces£fi £spaces£ £/spaces£case "$EVENT" in £spaces£ £/spaces£*CLOSE_WRITE*) £spaces£ £/spaces£ACTION=change £spaces£ £/spaces£;; £spaces£ £/spaces£*MOVED_TO*) £spaces£ £/spaces£ACTION=create £spaces£ £/spaces£;; £spaces£ £/spaces£*MODIFY*) £spaces£ £/spaces£ACTION=change £spaces£ £/spaces£;; £spaces£ £/spaces£*DELETE*) £spaces£ £/spaces£ACTION=delete £spaces£ £/spaces£;; £spaces£ £/spaces£*MOVED_FROM*) £spaces£ £/spaces£ACTION=delete £spaces£ £/spaces£;; £spaces£ £/spaces£*CREATE*) £spaces£ £/spaces£ACTION=create £spaces£ £/spaces£;; £spaces£ £/spaces£*) £spaces£ £/spaces£continue £spaces£ £/spaces£;; £spaces£ £/spaces£esac £spaces£ £/spaces£case $ACTION in £spaces£ £/spaces£create) £spaces£ £/spaces£hg add "$FILE_NAME" £spaces£ £/spaces£hg commit -m "$FILE_NAME created" -u "vfs" £spaces£ £/spaces£;; £spaces£ £/spaces£delete) £spaces£ £/spaces£hg remove "$FILE_NAME" £spaces£ £/spaces£hg commit -m "$FILE_NAME removed" -u "vfs" £spaces£ £/spaces£;; £spaces£ £/spaces£change) £spaces£ £/spaces£hg add "$FILE_NAME" £spaces£ £/spaces£hg commit -m "$FILE_NAME changed" -u "vfs" £spaces£ £/spaces£;; £spaces£ £/spaces£esac done