मैं यूनिक्स / लिनक्स प्रोजेक्ट के लिए एक परिचय के रूप में आ कुंडली आरएसएस स्क्रिप्ट लिख रहा हूं, और मेरे प्रोफेसर उस समय में ठीक नहीं कर सकते थे जब मैं कक्षा के बाद रहने में सक्षम था। चूंकि मैं यह पता नहीं लगा सका कि वास्तविक तिथियों का उपयोग किस तरह से किया जाए, तो मुझे लगा कि मैं एमएमडीडी प्रारूप में मानक संख्या होने के कारण उपयोगकर्ता इनपुट द्वारा मूल अंकगणित की कोशिश करूंगा। उनके अनुसार, स्क्रिप्ट पूर्णांक के बजाय ऑक्टल कोड के रूप में इनपुट पढ़ रही है। यहाँ स्क्रिप्ट का एक नमूना है:
elif [ "$olddate" -gt 1121 ] && [ "$olddate" -lt 1131 ] || [ "$olddate" -gt 1200 ] && [ "$olddate" -lt 1222 ]
then
echo "You are Sagittarius"
exit
elif [ "$olddate" -gt 1221 ] && [ "$olddate" -lt 1232 ] || [ "$olddate" -gt 0100 ] && [ "$olddate" -lt 0120 ]
then
echo "You are Capricorn"
exit
यह नंगी हड्डियां हैं, मैंने आरएसएस का हिस्सा निकाल लिया। "पुराना" मेरे पढ़ने के संकेत से अपेक्षित इनपुट है। जबकि ११२१ से ११३१, १२०० से १२२२, और ०११०० से ०१२० काम, १२२१ से १२३२ के बीच कुछ भी नहीं करता है। उन्होंने अनुमान लगाया कि मकर के लिए एक अग्रणी 0 के बिना 113 लगाने के बाद से समस्या थी। मैं भी बस एक समस्या में भाग गया, जहाँ 0323 जो मुझे मेष राशि देने वाली थी (-gt 0320 &&-03.332) ने मुझे कुंभ राशि दी (जिसकी तारीखें हैं -0t911 और& -lt 0132 || -gt 0200 -&t-02 02) साथ ही साथ 0417 काम नहीं कर रहा है (जो मेष राशि के लिए अन्य तिथि सीमा है, -gt 0400 && -lt 0420)।
मैं ऐसा क्या करता हूं कि BASH इनपुट की वास्तविक संख्या के रूप में व्याख्या करता है? उन्होंने इनपुट के रूप में "उपयोगकर्ताडेट" और फिर जोड़ने की उम्मीद करने के लिए रीड प्रॉम्प्ट को बदलने की कोशिश की
olddate=`printf '%d\n' "$userdate"`
लेकिन वह काम नहीं किया। किसी को भी अग्रिम धन्यवाद, जो इस पर मेरी मदद कर सकता है!
test
स्पष्ट संख्यात्मक ऑपरेटरों है।