在Linux机器上,我要检查是否存在特定的套接字文件。我知道套接字文件存在,但是我对bash的检查并没有向我显示:
$ 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!
为什么哦,为什么bash看不到文件存在?
最佳答案
http://www.tldp.org/LDP/abs/html/fto.html
使用-S
测试其是否为套接字。 -f
用于常规文件。
参见man 1 test
:
-e FILE
FILE exists
-f FILE
FILE exists and is a regular file
...
...
-S FILE
FILE exists and is a socket
关于linux - 为什么bash无法识别套接字文件的存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37618443/