6 votes

Pourquoi bash ne reconnaît-il pas l'existence d'un fichier socket ?

Sur une machine Linux, je veux vérifier si un fichier socket spécifique existe. Je sais que le fichier socket existe, mais mes vérifications dans bash ne me le montrent pas :

$ ls -l /var/run/supervisor.sock
srwxrw-rw- 1 root root 0 Jun  3 13:30 /var/run/supervisor.sock  # <== THE FILE EXISTS!!
$ if [ ! -f /var/run/supervisor.sock ]; then echo 'file does not exist!'; fi
file does not exist!

Pourquoi bash ne voit-il pas que le fichier existe ?

19voto

bodangly Points 1589

http://www.tldp.org/LDP/abs/html/fto.html

Utilisation -S pour vérifier s'il s'agit d'une prise. -f est destiné aux fichiers ordinaires.

Voir man 1 test :

   -e FILE
          FILE exists
   -f FILE
          FILE exists and is a regular file
   ...
   ...
   -S FILE
          FILE exists and is a socket

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X