2013-11-27 7 views
10

आदेश में परीक्षण करने के लिए मुझे क्या करना:एक नामित पाइप मौजूद है या नहीं, इसका परीक्षण कैसे करें? अगर एक फ़ाइल मौजूद

if [ -f $FILE ]; 

लेकिन अगर $ फ़ाइल एक नामित पाइप है, जैसे यह काम नहीं करता

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

अगर किसी नामित पाइप मौजूद है कैसे परीक्षण करने के लिए: ls -l pipename साथ पी विशेषता एक पाइप से पता चलता?

+1

यहां सभी बैश परीक्षण अभिव्यक्तियां हैं। http://www.gnu.org/software/bash/manual/html_node/Bash-Conditional-Expressions.html –

उत्तर

8

आप -p परीक्षण

if [[ -p $pipe ]] 

या

if [ -p "$pipe" ] 
2

आप इस तरह की कोशिश कर सकते इस्तेमाल कर सकते हैं:

if [[ -p $pipe ]] 

या आप बस [] इस तरह हटाने के द्वारा की कोशिश कर सकते हैं:

if [ -p "$pipe" ] 

यह भी जांच Bash Conditional Expressions और Bash Shell: Check File Exists or Not

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

'test' का मैनपेज, मुझे लगता है? (मैं उन्हें बश मैनपेज में देखना चाहता था, लेकिन यह कुशल होने से बहुत दूर है) – PypeBros

संबंधित मुद्दे