2015-01-07 5 views
5

csh स्क्रिप्ट में किसी भी फाइल के अस्तित्व की जाँच के लिए मैंसीएसएस स्क्रिप्ट में किसी भी फाइल के अस्तित्व की जांच कैसे करें?

if [ -f /var/opt/temip/conf/.temip_config ] 

उपयोग कर रहा हूँ, लेकिन मैं त्रुटि

नीचे हो रही है
if [ -f /var/opt/temip/conf/.temip_config ] 

if: Expression Syntax. 

किसी को मुझे बताओ कि यह करने के लिए कर सकते हैं?

+0

यह वैध सीएसएस वाक्यविन्यास बिल्कुल मान्य नहीं है। जो अच्छी बात है, क्योंकि आपको शायद सीएसएस में अपनी स्क्रिप्टिंग नहीं करनी चाहिए। आपका वाक्यविन्यास 'sh' के लिए ठीक है जो संभवतः आपको वैसे भी उपयोग करना चाहिए। आपकी बाकी की लिपि के संदर्भ के बिना, हम वास्तव में यह नहीं बता सकते कि पहले पंक्ति को '#!/Bin/sh' में बदलना संभव होगा, हालांकि। – tripleee

+0

@ ट्रिपली क्या आप बस मुझे बता सकते हैं कि सीएसएस स्क्रिप्ट में फ़ाइल अस्तित्व को कैसे जांचें? – dcds

+2

नहीं, मैं सीएसएच का उपयोग नहीं करता, और इसे सीखना नहीं चाहता, और न ही आपको चाहिए। कैननिकल संदर्भ http://www.perl.com/doc/FMTEYEWTK/versus/csh.whynot है लेकिन आप Google में बहुत कुछ पा सकते हैं। – tripleee

उत्तर

4

the manpage से:

f 
    Plain file 

आप एक if बयान के साथ इसका इस्तेमाल:

if (-f file.txt) then 
    echo Exists 
else 
    echo No such file 
endif 

इस सवाल and your previous question के आधार पर, आप, बल्कि कैसे csh वाक्य रचना कार्यों के लिए रूप में जानकारी नहीं होने के लिए आप के बाद से लग रहे हैं POSIX खोल वाक्यविन्यास का उपयोग करते रहें। मैं दृढ़ता से सुझाव देता हूं कि आप या तो csh वाक्यविन्यास के साथ स्वयं को परिचित करें, या केवल एक POSIX खोल का उपयोग करें (जो शायद वैसे भी स्क्रिप्टिंग के लिए बेहतर है)।

+0

में अंतिम पंक्ति" endif "होना चाहिए, न कि" अंत "। –

+0

हाँ सीएसएच पर पॉज़िक्स का उपयोग करने पर। – kdubs

3

CShell में एक फ़ाइल के अस्तित्व की जाँच के लिए

फ़ाइल के नाम का उपयोग -e विकल्प अगर बयान में "हार्ड कोडित" होने की जरूरत नहीं है, लेकिन इस तरह एक पैरामीटर हो सकता है:

if (-e "$filePath") then 

यहां Cshell फ़ाइल क्वेरी की पूरी सूची है।

-e file   file merely exists (may be protected from user) 
-r file   file exists and is readable by user 
-w file   file is writable by user 
-x file   file is executable by user 
-o file   file is owned by user 
-z file   file has size 0 
-f file   file is an ordinary file 
-d file   file is a directory 
संबंधित मुद्दे