ध्यान दें, मैं ksh
CentOS में उपयोग और चल रहा हूं ।
मेरे पास एक शेल स्क्रिप्ट है जहां एक लकड़हारा फ़ंक्शन सेट है:
if tty -s
then
echo "${FOO}" | tee -a ${BAR_LOG_FILE}
else
echo "${FOO}" >> ${BAR_LOG_FILE}
fi
मेरा प्रश्न यह है कि जब मैंने अपने कोड में if
अन्य सभी if
परीक्षणों की तरह यह देखने के लिए इसे तैयार किया, तो इसने कार्य करना बंद कर दिया।
क्यों?
मेरा रिफ्लेक्टर इस प्रकार था:
if [ tty -s ];
then
echo "${FOO}" | tee -a ${BAR_LOG_FILE}
else
echo "${FOO}" >> ${BAR_LOG_FILE}
fi
मेरा एकमात्र परिवर्तन मेरे बाकी परीक्षणों की तरह, चारों ओर कोष्ठक लगाना if
और जोड़ना था , जो सभी उद्देश्य के अनुसार काम करते हैं।;
if
मेरे रिफ्लेक्टर में एक त्रुटि हुई, जो ऐसा लग रहा था जैसे BAR_LOG_FILE
पाया नहीं जा सकता।
यहाँ क्या चल रहा है?