उपयोगकर्ता परिभाषित कार्य
आमतौर पर बैश फ़ंक्शन स्थायी रूप से एक bash
स्टार्ट-अप स्क्रिप्ट में संग्रहीत होते हैं ।
- सिस्टम-वाइड स्टार्ट-अप स्क्रिप्ट:
/etc/profile
लॉगिन गोले के लिए, और /etc/bashrc
इंटरैक्टिव गोले के लिए।
- उपयोगकर्ता स्टार्ट-अप स्क्रिप्ट को परिभाषित करता है:
~/.bash_profile
लॉगिन गोले के लिए, और ~/.bashrc
इंटरैक्टिव गोले के लिए।
- इंटरैक्टिव
man
अनुभाग में इंटरैक्टिव / लॉगिन गोले के बारे में अधिक जानकारी बैश पृष्ठ में पाई जा सकती है ।
बश शुरू होने पर उपयोगकर्ता परिभाषित शेल फ़ंक्शन गतिशील रूप से एक हैश (या लुकअप टेबल) में लोड किए जाते हैं। बैश स्रोत फ़ाइल variable.c
से तालिका के लिए परिभाषा है:
/* The list of shell functions that the user has created, or that came from
the environment. */
HASH_TABLE *shell_functions = (HASH_TABLE *)NULL;
उपयोगकर्ता परिभाषित कार्यों को बैश declare
कमांड के साथ सूचीबद्ध किया जा सकता है , अन्य शेल अभी भी उपयोग करते हैं typeset
। बैश declare
में typeset
कमांड को सुपर किया है ।
declare -f
कार्य बश शेल के जीवनकाल के लिए स्मृति में मौजूद हैं।
शैल परिभाषित (बिलिन) कार्य
ये इस तरह के रूप में आम कार्य हैं echo
, printf
, cd
और :
। उन्हें एक पुस्तकालय में संकलित किया जाता है जो bash
निष्पादन योग्य में जुड़ा हुआ है । बाहरी परिभाषा को लोड करने की तुलना में निष्पादन योग्य में परिभाषाओं को बनाना समय बचाता है। इन फ़ंक्शंस की परिभाषाएँ ( .def
स्रोत फ़ाइलों में सी स्रोत में पार्स की गई) को builtins
बैश स्रोत की निर्देशिका में रखा गया है ।
एक उपयोगी एक तरफ: शेल बिलिन कमांड के उपयोग की जानकारी के लिए help <command>
। जैसे
help # list all builtins
help declare # info and options for declare
help -m declare # gives man style information for declare
cd is a shell builtin
। अपने खोल (zsh?) के लिए मैन पेज पर एक नजर डालें