उपयोगकर्ता परिभाषित कार्य
आमतौर पर बैश फ़ंक्शन स्थायी रूप से एक 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?) के लिए मैन पेज पर एक नजर डालें