स्थायी कार्य घोषित करने के लिए यहां एक आवश्यक प्रक्रिया है:
~/.bashrc
एक पाठ संपादक में फ़ाइल खोलें । कोई फर्क नहीं पड़ता कि कौन सा पाठ संपादक है, इसलिए जब तक आप जानते हैं कि इसका उपयोग कैसे करना है और जब तक आप इसे खोलते हैं/home/<username>/.bashrc
~/.bashrc
उदाहरण के लिए, अपने स्वयं के कार्य की घोषणा के अंत में :
find_dirs(){
find "$1" -type d
}
फ़ाइल को सहेजें और बंद करें।
~/.bashrc
फ़ाइल आप इंटरैक्टिव खोल (नए टर्मिनल टैब, लॉगिन के माध्यम से है कि खोलने हर बार पढ़ा है ssh
, या खुली TTY1 या अन्य आभासी कंसोल)। यह स्क्रिप्ट फ़ाइलों में उपलब्ध नहीं होगा, क्योंकि ~/.bashrc
गैर-इंटरैक्टिव शेल के लिए नहीं पढ़ा जाता है। यदि आप विकल्प के bash
साथ चलते हैं तो यह उपलब्ध नहीं है --norc
।
यदि आप चाहते हैं कि फ़ंक्शन वर्तमान में खुले टैब में तुरंत उपलब्ध हो, तो source ~/.bashrc
कमांड का उपयोग करें ।
फ़ंक्शंस नियमित आदेशों की तरह ही तर्क लेते हैं। उदाहरण के लिए, जब आप किसी फ़ंक्शन को कॉल करते हैं, तो स्थिति संबंधी मापदंडों $1
को $9
इंगित करें। ऊपर के उदाहरण में find_dirs
केवल एक स्थितीय पैरामीटर लिया जाता है, और इसे कहा जाएगा find_dirs /etc
। आप $@
सभी स्थितीय मापदंडों को संदर्भित करने के लिए भी उपयोग कर सकते हैं । कार्य भी पुनर्निर्देशन स्वीकार करते हैं। आप किसी फ़ंक्शन को कॉल कर सकते हैं find_dirs $1 > /dev/null
; हम इसे इस प्रकार भी घोषित कर सकते हैं:
find_dirs(){
find "$1" -type d
}
ध्यान दें man bash
: "कार्य मौजूदा शेल के संदर्भ में निष्पादित किए जाते हैं; उनकी व्याख्या के लिए कोई नई प्रक्रिया नहीं बनाई जाती है"। इसका मतलब है कि आपको अपने शेल निष्पादन परिवेश - परिवर्तन चर और टर्मिनल सेटिंग्स को बदलने की क्षमता वाले कार्यों से भी अवगत होना चाहिए।