उपनाम के लिए हैं aliasing आदेश के नाम। इससे परे कुछ भी कार्यों के साथ किया जाना चाहिए।
alias ll='ls -l' # The ll command is an alias for ls -l
उपनाम ऐसे नाम हैं जो अभी भी मूल नाम के साथ जुड़े हुए हैं। ll
बस थोड़ा विशिष्ट प्रकार का है ls
।
d() {
if exists colordiff; then
colordiff -ur "$@"
elif exists diff; then
diff -ur "$@"
elif exists comm; then
comm -3 "$1" "$2"
fi | less
}
एक फ़ंक्शन एक नया कमांड है जिसमें आंतरिक तर्क हैं। यह बस एक और कमांड का नाम नहीं है। यह आंतरिक संचालन करता है।
तकनीकी रूप से, बैश शेल भाषा में उपनाम इतनी क्षमताओं में सीमित हैं कि वे किसी भी चीज़ के लिए बेहद बीमार हैं, जिसमें एक से अधिक कमांड शामिल हैं । एक ही आदेश के एक छोटे से उत्परिवर्तन बनाने के लिए उनका उपयोग करें, अधिक कुछ नहीं।
चूंकि इरादा एक नई कमांड बनाने का है जो एक ऑपरेशन करता है जो आंतरिक रूप से अन्य कमांड्स में हल करेगा, यहां एक फ़ंक्शन का उपयोग करने का एकमात्र सही उत्तर है:
lock() {
gnome-screensaver
gnome-screensaver-command --lock
}
इस तरह से परिदृश्य में उपनामों का उपयोग बहुत सारे मुद्दों में चलता है। फ़ंक्शंस के विपरीत, जिन्हें कमांड के रूप में निष्पादित किया जाता है, उपनामों को वर्तमान कमांड में विस्तारित किया जाता है, जो अन्य कमांड के साथ इस उपनाम "कमांड" को जोड़ते समय बहुत अप्रत्याशित मुद्दों को जन्म देगा। वे स्क्रिप्ट में भी काम नहीं करते हैं।