Cet article est maintenant sur http://linux-attitude.fr/post/En-vrac-9
Niveau :
Résumé : tail --retry ; tail --follow ; read
Savez-vous qu'il est possible de faire un tail sur un fichier qui n'existe pas encore (mais qui existera bientôt)
Savez-vous qu'il est possible de faire un tail sur un fichier qui disparaît et réapparaît (par exemple un fichier de log avec un logrotate intermédiaire)
$ tail --follow=name
Les éléments d'un pipe sont nécessairement exécutés dans un des processus séparés.
Par conséquent, il faut faire attention à vos scripts shell. Exemple le script suivant ne met rien dans la variable var, même si fichier contient quelque chose (et c'est aussi valable pour les boucles while).
$ cat fichier | read var
Par contre le script suivant fera ce que vous pensez.
$ read var < fichier
Et si vous avez vraiment besoin d'utiliser les pipes, utilisez les pipes nommés
$ mkfifo pipe
$ ligne | longue > pipe &
$ read var < pipe