2013-11-27 64 views
10

爲了測試文件是否存在我做的:如何測試命名管道是否存在?

if [ -f $FILE ]; 

但如果$文件是一個命名管道, 例如它不工作ls -l pipename顯示了p屬性的管:

prw-r--r-- 1 usr grp 0 Nov 26 02:22 pipename 

如何測試是否命名管道存在?

+1

這裏是所有bash測試表達式。 http://www.gnu.org/software/bash/manual/html_node/Bash-Conditional-Expressions.html –

回答

8

您可以使用-p測試

if [[ -p $pipe ]] 

if [ -p "$pipe" ] 
5

友好的人機頁面列出了幾個文件測試的運營商,其中包括:

-e file 
     True if file exists. 

-f file 
     True if file exists and is a regular file. 

-p file 
     True if file exists and is a named pipe (FIFO). 

不要一直使用-f;使用那個你所說的話。

+0

'測試'的手冊頁,我猜? (我曾經在例如bash manpage中查找它們,但這遠沒有效率) – PypeBros