Bash मध्ये अंकगणित

एक Bash स्क्रिप्टला गणना कशी जोडावी

जरी बाश स्क्रिप्टींग भाषा आहे, तरीही सामान्य प्रयोजन प्रोग्रामिंग भाषेच्या सर्व कार्यक्षमतेत ते आहे. यात अंकगणित फंक्शन्स समाविष्ट आहेत. अभिव्यक्तीचे अंकगणितीय मूल्यमापन करण्यासाठी आपण वापरत असलेल्या अनेक वाक्यरचना पर्याय आहेत. कदाचित सर्वात वाचनीय एक आज्ञा द्या आहे उदाहरणार्थ

"m = 4 * 1024" द्या

4 वेळा 1024 मोजण्यास आणि "m" व्हेरिएबलला निकाल देईल.

आपण एक प्रतिध्वनी विधान जोडून परिणाम मुद्रित करू शकता:

"m = 4 * 1024" इको $ m द्या

आपण खालील कोड प्रविष्ट करुन आदेश ओळवरून हे तपासू शकता:

"m = 4 * 1024" द्या "; प्रतिध्वनी करा $ एम

आपण बॅश आज्ञा समाविष्ट असलेली एक फाईल देखील तयार करू शकता, ज्या बाबतीत आपण फाइलच्या शीर्षस्थानी एक ओळ जोडणे आवश्यक आहे जे कोड कार्यान्वित करण्यायोग्य असलेल्या प्रोग्रामला निर्दिष्ट करते. उदाहरणार्थ:

#! / bin / bash द्या "m = 4 * 1024" echo $ m

बॅश एक्झिक्यूटेबल गृहीत धरून / bin / bash मध्ये स्थित आहे. आपल्याला आपल्या स्क्रिप्ट फाइलची परवानगी सेट करण्याची आवश्यकता आहे जेणेकरून ते निष्पादन योग्य असेल. स्क्रिप्ट फाइल नाव मानून script1.sh आहे , आपण आदेश वापरून फाईल एक्झिक्युटेबल करण्यासाठी परवानगी सेट करू शकता:

chmod 777 script1.sh

यानंतर तुम्ही ती कार्यान्वीत करू शकता:

./script1.sh

उपलब्ध अरिथ्मेटिक ऑपरेशन्स जावा आणि सीसारख्या मानक प्रोग्रामिंग भाषा प्रमाणेच आहेत. गुणन व्यतिरिक्त, वर दाखवल्याप्रमाणे, आपण अतिरिक्त वापरः

"m = a + 7" द्या

किंवा वजाबाकी:

"एम = एक - 7" द्या

किंवा विभागणी:

"एम = एक / 2" द्या

किंवा मॉड्यूलो (पूर्णांक विभाजकानंतर उर्वरित):

"एम = एक% 100" द्या

जेव्हा ऑपरेशन्स त्याच व्हेरिएबलवर लागू केले जाते ज्याचा परिणाम नियुक्त केला आहे आपण मानक अंकगणित लघुलिपी असाइनमेंट ऑपरेटर वापरू शकता, ज्यास कंपाऊंड असाइनमेंट ऑपरेटर देखील म्हटले जाते. उदाहरणार्थ, याव्यतिरिक्त, आम्ही:

"M + = 15" द्या

जे "m = m + 15" च्या समतुल्य आहे. वजाबाकीसाठी आपल्याकडे आहे:

"m - = 3" द्या

जे "m = m-3" च्या समतुल्य आहे. विभागासाठी आमच्या कडे आहे:

"m / = 5" द्या

जे "m = m / 5" शी समानार्थी आहे. आणि modulo साठी, आम्ही:

"एम% = 10" द्या

जे "m = m% 10" च्या समतुल्य आहे.

याव्यतिरिक्त, आपण वाढ आणि कमी करणे ऑपरेटर्स वापरू शकता:

"M ++" द्या

"m = m + 1" शी समानार्थी आहे. आणि

"m--" द्या

"m = m-1" च्या समतुल्य आहे.

आणि मग त्रिमितीय "प्रश्न चिन्ह-कॉलन" ऑपरेटर आहे, जो निर्दिष्ट अटी सत्य किंवा खोटे आहे यावर आधारित दोन मूलभूत मूल्यांपैकी एक देतो. उदाहरणार्थ

"k = (m <9) द्या? 0: 1"

या असाइनमेंट स्टेटमेंटचे उजवे हात "0" चे मूल्यमापन करते तर "m" 9 पेक्षा कमी आहे. अन्यथा, ते 1 चे मूल्यांकन करते. याचा अर्थ "m" कमी असल्यास "k" हे व्हेरिएबल "असाइन केले" आहे. 9 पेक्षा आणि "1" अन्यथा

प्रश्न चिन्ह-कॉलन ऑपरेटरचे सामान्य स्वरूप हे आहे:

अट ? value-if-true: value-if-false

Bash मधील फ्लोटिंग पॉइंट अंकगणित

द्या ऑपरेटर फक्त पूर्णांक अंकगणित करीता कार्य करते. फ्लोटिंग पॉईंट एरिथमिकसाठी आपण उदाहरण घेऊ शकता उदाहरणार्थ GNU bc कॅल्क्युलेटर.

echo "32.0 + 1.4" | बी.सी.

"पाईप" ऑपरेटर "|" अंकगणितीय अभिव्यक्ती "32.0 + 1.4" बीसी कॅल्क्युलेटरला मिळवते, जे वास्तविक संख्या परत करते. Echo कमांड स्टँडर्ड आऊटपुट मध्ये प्रिंट करेल.

अरिथ्मिकसाठी वैकल्पिक सिंटॅक्स

बॅकटिक्स (बॅक सिंगल कोट्स) या उदाहरणात गणिती अभिव्यक्तीचे मूल्यमापन करण्यासाठी वापरले जाऊ शकते:

प्रतिध्वनी 'expr $ m + 18`

हे "m" व्हेरिएबलची व्हॅल्यू 18 ला जोडेल आणि नंतर रिझल्ट प्रिंट करेल.

एका चल व्हेरिएबलमध्ये गणित मूल्य नियुक्त करण्यासाठी आपण त्याच्या जवळपासच्या जागेशिवाय समान चिन्ह वापरू शकता:

m = 'EXpr $ m + 18`

गणितातील अभिव्यक्तीचे मूल्यांकन करण्याचा दुसरा मार्ग म्हणजे दुहेरी कंसांचा वापर करणे. उदाहरणार्थ:

((एम * = 4))

हे व्हेरिएबल "m" च्या व्हॅल्यूस चौपट होईल.

अंकगणित मूल्यांकनाव्यतिरिक्त, बॅश शेल इतर प्रोग्रामिंग आकृत्या प्रदान करतो, जसे की -लूप , तर-लूप , कंडिशन्स आणि फंक्शन्स आणि सब-रूटिन .