Bash
एलियासिंग
खोज…
परिचय
शेल उपनाम नए कमांड बनाने या अपने खुद के कोड के साथ मौजूदा कमांड को लपेटने का एक सरल तरीका है। वे कुछ हद तक शेल फ़ंक्शन के साथ ओवरलैप करते हैं , जो हालांकि अधिक बहुमुखी हैं और इसलिए अक्सर पसंद किया जाना चाहिए।
टिप्पणियों
उपनाम केवल शेल में उपलब्ध होगा जहां उपनाम आदेश जारी किया गया था।
उपनाम को जारी रखने के लिए इसे अपने .bashrc
में डालने पर विचार करें
एक उपनाम बनाएं
alias word='command'
चालान word
command
चलाएगा। उर्फ को दिए गए किसी भी तर्क को केवल उर्फ के लक्ष्य से जोड़ा जाता है:
alias myAlias='some command --with --options'
myAlias foo bar baz
शेल तब निष्पादित होगा:
some command --with --options foo bar baz
एक ही उपनाम में कई कमांड्स शामिल करने के लिए, आप उन्हें &&
साथ एक साथ स्ट्रिंग कर सकते हैं। उदाहरण के लिए:
alias print_things='echo "foo" && echo "bar" && echo "baz"'
सभी उपनामों को सूचीबद्ध करें
alias -p
सभी मौजूदा उपनामों को सूचीबद्ध करेगा।
उपनाम का विस्तार करें
यह मानते हुए कि bar
someCommand -flag1
लिए एक उपनाम है।
कमांड लाइन पर bar
टाइप करें और फिर Ctrl + alt + e दबाएँ
आपको कुछ someCommand -flag1
जहां bar
खड़ा था।
एक उपनाम निकालें
किसी मौजूदा उपनाम को निकालने के लिए, उपयोग करें:
unalias {alias_name}
उदाहरण:
# create an alias
$ alias now='date'
# preview the alias
$ now
Thu Jul 21 17:11:25 CEST 2016
# remove the alias
$ unalias now
# test if removed
$ now
-bash: now: command not found
एक अन्य व्यक्ति को बायपास करें
कभी-कभी आप बिना किसी अक्षमता के, अस्थायी रूप से एक उपनाम को बायपास करना चाहते हैं। एक ठोस उदाहरण के साथ काम करने के लिए, इस उपनाम पर विचार करें:
alias ls='ls --color=auto'
और मान लें कि आप ls
को अक्षम किए बिना ls
कमांड का उपयोग करना चाहते हैं। आपके पास कई विकल्प हैं:
-
command
बिलिन का प्रयोग करें:command ls
- कमांड के पूर्ण पथ का उपयोग करें:
/bin/ls
- एक जोड़े
\
कमांड नाम में कहीं उदाहरण के लिए,:\ls
, याl\s
- कमांड को कोट करें:
"ls"
या'ls'
BASH_ALIASES एक आंतरिक बैश गधा सरणी है
उपनामों को आदेशों के शॉर्टकट नाम दिए गए हैं, एक इंटरैक्टिव बैश उदाहरणों में परिभाषित और उपयोग कर सकता है। उन्हें BASH_ALIASES नाम के एक सहयोगी समूह में रखा गया है। एक स्क्रिप्ट में इस संस्करण का उपयोग करने के लिए, इसे एक इंटरैक्टिव शेल के भीतर चलाया जाना चाहिए
#!/bin/bash -li
# note the -li above! -l makes this behave like a login shell
# -i makes it behave like an interactive shell
#
# shopt -s expand_aliases will not work in most cases
echo There are ${#BASH_ALIASES[*]} aliases defined.
for ali in "${!BASH_ALIASES[@]}"; do
printf "alias: %-10s triggers: %s\n" "$ali" "${BASH_ALIASES[$ali]}"
done