(( )) - पूर्णांकों के लिए डिज़ाइन किया गया
करने के लिए इसके अलावा में [[]] यौगिक आदेश, खूब जोर से पीटना भी प्रदान करता है (( )) कॉम-पाउंड कमांड, जो पूर्णांकों पर संचालन के लिए उपयोगी है। यह अंकगणितीय मूल्यांकन के एक पूरे सेट का समर्थन करता है, एक विषय जिसे हम अध्याय 34 में पूरी तरह से कवर करेंगे।
(( )) प्रदर्शन करने के लिए उपयोग किया जाता है अंकगणित सत्य परीक्षण. यदि अंकगणितीय मूल्यांकन का परिणाम गैर-शून्य है तो अंकगणित सत्य परीक्षण का परिणाम सत्य होता है।
[मुझे@लिनक्सबॉक्स ~]$ यदि ((1)); फिर गूंजें "यह सच है"; फाई
यह सत्य है।
[मुझे@लिनक्सबॉक्स ~]$ यदि ((0)); फिर गूंजें "यह सच है"; फाई
[मुझे@लिनक्सबॉक्स ~]$
[मुझे@लिनक्सबॉक्स ~]$ यदि ((1)); फिर गूंजें "यह सच है"; फाई
यह सत्य है।
[मुझे@लिनक्सबॉक्स ~]$ यदि ((0)); फिर गूंजें "यह सच है"; फाई
[मुझे@लिनक्सबॉक्स ~]$
का प्रयोग (( )), हम इसे थोड़ा सरल बना सकते हैं परीक्षण-पूर्णांक2 स्क्रिप्ट इस प्रकार:
#! / Bin / bash
# test-integer2a: पूर्णांक के मान का मूल्यांकन करें।
आईएनटी=-5
यदि [[ "$INT" =~ ^-?[0-9]+$ ]]; तो अगर ((INT == 0)); फिर
प्रतिध्वनि "INT शून्य है।"
अन्य
if ((INT < 0)); फिर
प्रतिध्वनि "INT नकारात्मक है।"
अन्य
प्रतिध्वनि "INT सकारात्मक है।"
fi
if ((((INT % 2)) == 0)); फिर
प्रतिध्वनि "INT सम है।"
अन्य
प्रतिध्वनि "INT अजीब है।"
fi
#! / Bin / bash
# test-integer2a: पूर्णांक के मान का मूल्यांकन करें।
आईएनटी=-5
यदि [[ "$INT" =~ ^-?[0-9]+$ ]]; तो अगर ((INT == 0)); फिर
प्रतिध्वनि "INT शून्य है।"
अन्य
if ((INT < 0)); फिर
प्रतिध्वनि "INT नकारात्मक है।"
अन्य
प्रतिध्वनि "INT सकारात्मक है।"
fi
if ((((INT % 2)) == 0)); फिर
प्रतिध्वनि "INT सम है।"
अन्य
प्रतिध्वनि "INT अजीब है।"
fi
प्रतिध्वनि "INT एक पूर्णांक नहीं है।" >&2 निकास 1
fi
प्रतिध्वनि "INT एक पूर्णांक नहीं है।" >&2 निकास 1
fi
ध्यान दें कि हम कम-से-कम और उससे अधिक-से-अधिक संकेतों का उपयोग करते हैं == तुल्यता का परीक्षण करने के लिए उपयोग किया जाता है। पूर्णांकों के साथ काम करने के लिए यह अधिक प्राकृतिक दिखने वाला वाक्यविन्यास है। यह भी ध्यान दें, क्योंकि कंपाउंड कमांड (( )) सामान्य कमांड के बजाय शेल सिंटैक्स का हिस्सा है, और यह केवल पूर्णांक से संबंधित है, यह नाम से चर को पहचानने में सक्षम है और इसे निष्पादित करने के लिए विस्तार की आवश्यकता नहीं है। हम चर्चा करेंगे (( )) और संबंधित अंकगणितीय विस्तार अध्याय 34 में आगे बताया गया है।