Q:

How to test if a named pipe exists?

In order to test if a file exists I do:
if [ -f $FILE ];

but it doesn't work if $FILE is a named pipe, 
e.g. ls -l pipename shows a pipe with p attribute:
prw-r--r-- 1 usr grp 0 Nov 26 02:22 pipename

How to test if a named pipe exists?

A:

You could use the -p test
if [[ -p $pipe ]]

or 
if [ -p "$pipe" ]

A:

The friendly man page lists several file test operators, including:
-e file
       True if file exists.

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

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

Don't just use -f all the time; use the one that does the thing you mean.

