बैश स्क्रिप्टिंग गायब '' '' [बंद]


82

मुझे एक त्रुटि मिल रही है ।/test.sh: पंक्ति 13: [: अनुपलब्ध `] 'को फ़ाइल test.sh में मैंने ब्रैकेट और अन्य विकल्पों जैसे -a या फ़ाइल p1 के आकार की जाँच करके उपयोग करने की कोशिश की, लेकिन त्रुटि है हमेशा और दिए गए कथन को हमेशा दिए गए इनपुट के बावजूद निष्पादित किया जाता है। 13 पंक्ति में, लेकिन यह मदद नहीं की।

test.sh

#!/bin/bash
echo "Enter app name"
read y
$y &
top -b -n 1 > topLog.log
#-w checks for the whole word not and sub string from that word
grep -w "$y" topLog.log > p1
#-s option checks if the file p1 is present or not
if [ -s "p1"];  #line 13
then 
    echo "Successful "
else
    echo "Unsuccessful"
fi
rm p1

मैं स्क्रिप्टिंग को कोसने के लिए नया हूं। यदि कोई मूर्खतापूर्ण गलती है तो कृपया मुझे माफ करें।

जवाबों:



40

मुझे यह त्रुटि मिली &&, जैसे एकल ब्रैकेट के अंदर ऑपरेटर का उपयोग करने का प्रयास करते समय [ ... && ... ]। मुझे स्विच ऑन करना था [[ ... && ... ]]


मैं भी && का उपयोग कर रहा था अगर और इससे मेरी समस्या हल हो जाती।
प्रवीण पटेल

मैं == ऑपरेटर का उपयोग कर रहा था और एक ही मुद्दा था, डबल वर्ग ब्रैकेट में स्विच करने में मदद मिली, धन्यवाद!
विष्णु नायर



0

यदि आपने विंडोज़ पर अपनी स्क्रिप्ट बनाई है और इसे लिनक्स मशीन पर चलाना चाहते हैं, और आपको यकीन है कि आपके कोड में कोई गलती नहीं है, तो linux मशीन पर dos2unix इंस्टॉल करें और चलाएं dos2unix yourscript.sh। फिर, स्क्रिप्ट चलाएँ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.