2017-10-18 3 views
1

Pour une raison quelconque, cette commande est en train de quitter après avoir créé un seul fichier dans le dossier. Je ne sais pas pourquoi quand il est en mode moniteurinotifywait -m | echo "trouvé un événement" ne reste pas ouvert malgré le changement de moniteur

$ inotifywait -m /TDPROXY/NET_DISCONNECT/INCOMING/ -e create | echo "new file" 

Merci

+3

Quand 'echo' se termine, il ferme sa fin de pipe, et' inotifywait' reçoit un signal SIGPIPE la prochaine fois qu'il essaie d'écrire. – chepner

Répondre

1

que je rencontrais ce problème et tout compris à l'aide chepner « s comment. Si vous venez de lancer

$ inotifywait -m /TDPROXY/NET_DISCONNECT/INCOMING/ -e create 

Vous verrez une ligne stdout imprimée à chaque déclenchement de l'événement. Donc, vous avez juste besoin d'un moyen d'exécuter echo chaque fois que cela arrive. J'ai trouvé un moyen de this question. `Echo` ne lit pas à partir de l'entrée standard

$ inotifywait -m /TDPROXY/NET_DISCONNECT/INCOMING/ -e create | 
while read -r line; do echo "new file: ${line}"; done