यह लेख समझाएगा कि फ़ंक्शंस का उपयोग कैसे करें बैश लिपियों में - आपको अपने कोड का पुन:उपयोग करने और अपनी स्क्रिप्ट को सरल बनाने में मदद करता है।
कोड को कई बार क्यों लिखें जबकि आप इसे एक बार लिख सकते हैं और इसका पुन:उपयोग कर सकते हैं?
यही कार्य करता है आपको करने दें।
यह लेख बैश/शैल स्क्रिप्ट में फ़ंक्शंस के उपयोग की रूपरेखा तैयार करता है।
फ़ंक्शन क्या है?
ए फ़ंक्शन पुन:प्रयोज्य कोड का एक टुकड़ा है। फ़ंक्शंस पैरामीटर स्वीकार कर सकते हैं, जो उन्हें अलग-अलग इनपुट पर एक ही दोहराने योग्य क्रिया करने की अनुमति देते हैं।
फ़ंक्शंस आमतौर पर कोई भी क्रिया, आउटपुट या प्रिंट परिणाम करते हैं, या भविष्य में उपयोग के लिए एक मान लौटाते हैं।
फ़ंक्शन का उपयोग क्यों करें?
एक उदाहरण के रूप में, आपके पास एक स्क्रिप्ट हो सकती है जो एक ईमेल सूचना भेजती है कि कुछ हुआ है। यदि आप एक से अधिक प्राप्तकर्ताओं को कई अलग-अलग ईमेल भेजना चाहते हैं, तो आप संदेश भेजने के लिए एक ही ईमेल भेजने वाले कोड को स्क्रिप्ट में कई बार लिख सकते हैं।
एक फ़ंक्शन का उपयोग करके, आप इस कोड को केवल एक बार लिखने में सक्षम होंगे, फिर इसे अलग-अलग प्राप्तकर्ताओं, विषयों और संदेशों के साथ कॉल करें, डुप्लिकेट कोड के बजाय सिंगल लाइन फ़ंक्शन कॉल के साथ।
बैश फंक्शन सिंटैक्स
बैश/शैल स्क्रिप्ट में फंक्शन लिखने का सिंटैक्स इस प्रकार है:
name_of_function () { # COMMANDS # Optional return value }
ध्यान दें कि:
- name_of_function वह नाम है जिसका उपयोग करके आप अपने फ़ंक्शन को कॉल करने में सक्षम होना चाहते हैं
- अल्फ़ान्यूमेरिक वर्ण और केवल अंडरस्कोर!
- फ़ंक्शन नाम के बाद () होना चाहिए (मानक कोष्ठक)
- कोष्ठक के चारों ओर रिक्त स्थान नोट करें! वे आवश्यक हैं!
- जिस कोड को आप फ़ंक्शन निष्पादित करना चाहते हैं, उसे {} . में लपेटा जाना चाहिए (घुंघराले कोष्ठक)
- इन घुंघराले कोष्ठकों के बाहर कोई भी कोड फ़ंक्शन का हिस्सा नहीं है और इसे निष्पादित नहीं किया जाएगा।
- आदेश कोई भी कमांड हो सकता है जो आमतौर पर आपके Linux सिस्टम पर उपलब्ध होता है
- आप वैकल्पिक रूप से वापसी . कर सकते हैं एक मान - उपयोग के लिए नीचे दिया गया उदाहरण देखें
- किसी फ़ंक्शन को जल्दी समाप्त करने के लिए, आप वापसी . को भी कॉल कर सकते हैं फ़ंक्शन से बाहर निकलने के लिए कोई मूल्य नहीं है
- विशेष $? वेरिएबल अंतिम निष्पादित कमांड से लौटाए गए मान को धारण करेगा, यह फ़ंक्शन चलाने के बाद इसे आपकी स्क्रिप्ट में कहीं और उपलब्ध कराएगा
उदाहरण और स्पष्टीकरण
यहां एक उदाहरण दिया गया है जो सभी अलग-अलग बैश फ़ंक्शन तत्वों को दिखाता है - टिप्पणियों के साथ यह बताता है कि सब कुछ क्या कर रहा है।
#!/bin/bash # Define a global variable - available anywhere in the script as it is not defined inside a function or loop initial_value=3 # Define a function which does some mathematics my_math_function () { # Get the parameters passed to the function # Parameters are passed after the function name when calling the function, and will be named in order of appearance, starting with $1, then $2, etc # Below, these parameter values are assigned to local variables - available only inside the function - so that it's easier to tell what they are local multiplier_value=$1 local addition_value=$2 # Calculate the result and assign it to a local variable # Notice the $(( )) wrapping the calculations - this tells the script to assign the result of these calculations to the results variable, rather than assigning the calculations as a text value local result=$(( $initial_value * $multiplier_value + $addition_value )) # Print the result to the console # Depending on how the function is used, text output from the function can be used to read results from it echo $result # It is also possible to get output from the function using a return value return $result } # Call the function with different input parameters # Parameters are passed to the function by typing them after the function separated by a space # The function above expects two parameters - a multiplier_value and addition_value my_math_function 2 4 # Will output 10 (2 * 3 + 4) my_math_function 3 5 # Will output 14 (3 * 3 + 5) # The $? is a special variable in Bash scripts which always holds the return value from the last executed command # It can be used to get the value specified as the return value from the function. echo $? # Will output 14 # Assign the result of the function to a variable # This will assign any text outputted by the function (for example using the echo command) to a variable my_result=$(my_math_function 6 7) echo $my_result # Will output 25 (6 * 3 + 7)
Linux शेल स्क्रिप्ट में '#!' क्या है?
अपनी शेल स्क्रिप्ट में मान पास करना चाहते हैं (ताकि आप उन्हें इसके कार्यों में पास कर सकें)? इस लेख को देखें।