Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

उदाहरण के साथ, बैश/शैल स्क्रिप्ट में फ़ंक्शंस का उपयोग कैसे करें

यह लेख समझाएगा कि फ़ंक्शंस का उपयोग कैसे करें बैश लिपियों में - आपको अपने कोड का पुन:उपयोग करने और अपनी स्क्रिप्ट को सरल बनाने में मदद करता है।

कोड को कई बार क्यों लिखें जबकि आप इसे एक बार लिख सकते हैं और इसका पुन:उपयोग कर सकते हैं?

यही कार्य करता है आपको करने दें।

यह लेख बैश/शैल स्क्रिप्ट में फ़ंक्शंस के उपयोग की रूपरेखा तैयार करता है।

फ़ंक्शन क्या है?

ए फ़ंक्शन पुन:प्रयोज्य कोड का एक टुकड़ा है। फ़ंक्शंस पैरामीटर स्वीकार कर सकते हैं, जो उन्हें अलग-अलग इनपुट पर एक ही दोहराने योग्य क्रिया करने की अनुमति देते हैं।

फ़ंक्शंस आमतौर पर कोई भी क्रिया, आउटपुट या प्रिंट परिणाम करते हैं, या भविष्य में उपयोग के लिए एक मान लौटाते हैं।

फ़ंक्शन का उपयोग क्यों करें?

एक उदाहरण के रूप में, आपके पास एक स्क्रिप्ट हो सकती है जो एक ईमेल सूचना भेजती है कि कुछ हुआ है। यदि आप एक से अधिक प्राप्तकर्ताओं को कई अलग-अलग ईमेल भेजना चाहते हैं, तो आप संदेश भेजने के लिए एक ही ईमेल भेजने वाले कोड को स्क्रिप्ट में कई बार लिख सकते हैं।

एक फ़ंक्शन का उपयोग करके, आप इस कोड को केवल एक बार लिखने में सक्षम होंगे, फिर इसे अलग-अलग प्राप्तकर्ताओं, विषयों और संदेशों के साथ कॉल करें, डुप्लिकेट कोड के बजाय सिंगल लाइन फ़ंक्शन कॉल के साथ।

बैश फंक्शन सिंटैक्स

बैश/शैल स्क्रिप्ट में फंक्शन लिखने का सिंटैक्स इस प्रकार है:

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 शेल स्क्रिप्ट में '#!' क्या है?

अपनी शेल स्क्रिप्ट में मान पास करना चाहते हैं (ताकि आप उन्हें इसके कार्यों में पास कर सकें)? इस लेख को देखें।


  1. उदाहरण के साथ, लिनक्स में वॉच कमांड का उपयोग कैसे करें

    लिनक्स में वॉच कमांड एक काम करता है - एक कमांड को दोहराता है और परिणाम को बार-बार आउटपुट करता है, जिससे आप परिवर्तनों को देख सकते हैं। यहां इसका उपयोग करने का तरीका बताया गया है। कमांड सिंटैक्स देखें वॉच कमांड का सिंटैक्स इस प्रकार है: watch OPTIONS COMMAND ध्यान दें कि: विकल्प नीचे दी गई तालिका

  1. बैश शैल फंक्शन ट्यूटोरियल 6 व्यावहारिक उदाहरणों के साथ

    बैश शेल फ़ंक्शन समूह के लिए एकल नाम का उपयोग करके बाद में निष्पादन के लिए कई UNIX / Linux कमांड को समूहबद्ध करने का एक तरीका है। . बैश शेल फ़ंक्शन को नियमित यूनिक्स कमांड की तरह ही निष्पादित किया जा सकता है। शेल फ़ंक्शंस को मौजूदा शेल संदर्भ में उनकी व्याख्या करने के लिए कोई नई प्रक्रिया बनाए बिना न

  1. एक्सेल में डाटाबेस फंक्शंस का उपयोग कैसे करें (उदाहरण के साथ)

    यह आलेख बताता है कि एक्सेल में डेटाबेस फ़ंक्शंस का उपयोग कैसे करें। एक्सेल में 12 डेटाबेस फंक्शन होते हैं। यह आलेख दिखाता है कि उन्हें एक-एक करके कैसे लागू किया जाए। निम्नलिखित चित्र इस लेख के उद्देश्य पर प्रकाश डालता है। बाकी का उपयोग करना सीखने के लिए लेख पर एक नज़र डालें। आप नीचे दिए गए डाउनलो