मैं बैश उपनाम कैसे बनाऊं?


189

मैं OSX पर हूं और मुझे alias blah="/usr/bin/blah"एक कॉन्फिग फाइल में ऐसा कुछ डालने की जरूरत है, लेकिन मुझे नहीं पता कि कॉन्फिग फाइल कहां है।


विशेष रूप से, यह विशेष रूप से उपनाम अन्य रूप से बेमानी है जब तक कि आप विशेष रूप से PATHइस विशिष्ट कमांड के लिए शेल के संकल्प को ओवरराइड करने की कोशिश नहीं कर रहे हैं । यदि आप में /usr/binहै PATH(जो वास्तव में यह होना चाहिए) तो blahइस उर्फ ​​के बिना भी ठीक वहाँ से चलेगा, भी, जब तक कि वहाँ भी नहीं कहा जाता है /usr/local/bin/blahऔर आपके /usr/local/binपहले है /usr/bin, PATH लेकिन आप अभी भी पसंद करना चाहते हैं /usr/bin/blahऔर किसी कारण से बस नहीं हटा सकते हैं या नाम बदल सकते हैं /usr/local/bin/blah
त्रिकालिका

फिर भी यह एक संदिग्ध, हैकिश समाधान है, जो आपको चेतावनी संदेश के साथ एक बड़ी मोटी बदसूरत टिप्पणी के साथ आना चाहिए, यह बताएगा कि यह आपके सुडौल निचले पेट को कैसे काटेगा, और एक और कहावत "मैंने आपको ऐसा बताया" तो हर बार ऐसा हुआ।
बजे त्रिपली

1
सभी स्वचालन प्रेमियों के लिए: मैं व्यक्तिगत रूप addAlias() { echo "alias $1='$2' " >> ~/.bash_profile से अपने bash_profile में जोड़ता हूं और फिर मैं इसे स्रोत और चलाता हूं addAlias hi 'echo "hi" '। स्रोत बैश प्रोफ़ाइल और hiइसे देखने के लिए टाइप करें।
देवांश

जवाबों:


268

आप अपनी स्टार्टअप स्क्रिप्ट फ़ाइल में एक aliasया एक जोड़ सकते हैं function। आमतौर पर यह है .bashrc, .bash_loginया .profileअपने घर निर्देशिका में फ़ाइल।

चूंकि ये फाइलें छिपी हुई हैं, इसलिए आपको ls -aउन्हें सूचीबद्ध करने के लिए एक करना होगा। यदि आपके पास एक नहीं है तो आप एक बना सकते हैं।


अगर मुझे सही याद है, जब मैंने अपना मैक खरीदा था, तो .bash_loginफ़ाइल नहीं थी। मैं खुद के लिए उसे बनाने के लिए इतना है कि मैं डाल सकता था prompt info, alias, functions, आदि उस में।

यदि आप एक बनाना चाहते हैं, तो यहां चरण दिए गए हैं:

  1. स्टार्ट अप टर्मिनल
  2. cd ~/अपने होम फोल्डर पर जाने के लिए टाइप करें
  3. touch .bash_profileअपनी नई फ़ाइल बनाने के लिए टाइप करें।
  4. .bash_profileअपने पसंदीदा संपादक के साथ संपादित करें (या आप open -e .bash_profileइसे टेक्स्टएडिट में खोलने के लिए टाइप कर सकते हैं ।
  5. आपके द्वारा जोड़े गए किसी भी अन्य . .bash_profileको फिर से लोड करने .bash_profileऔर अपडेट करने के लिए टाइप करें ।

8
बहुत बढ़िया, धन्यवाद @ संजय! क्या कमांड source .bash_profileचरण 5 का विकल्प है?
इयान कैंपबेल

10
हां मेरे OSX Mavericks पर मेरे .bash_profileघर में कोई नहीं था । इसे बनाना, इसमें अन्य को जोड़ना और फिर इसे . .bash_profileकमांड के साथ शुरू करना काम किया।
ब्रैडली फ्लड

1
.bash_profile मेरे लिए काम करता है! :) .Bashrc El Capitan पर नहीं था
पार्थ

5
OSX El Capitan पर .bash_profileकाम करता है। यदि आप टर्मिनल विंडो खोलते हैं तो यह स्वचालित रूप से लोड नहीं होता है, यह शायद इसलिए है क्योंकि यह निष्पादन योग्य अनुमति के बिना बनाया गया था। यह आदेश इसे ठीक कर देगा और इसे भविष्य के सत्रों के लिए स्वचालित रूप से लोड होना चाहिए:chmod u+x .bash_profile
13 मार्च को मिस्किनब

1
.bash_profile प्रोफ़ाइल लॉक है मैं इस फ़ाइल को कैसे अपडेट कर सकता हूं
amit gupta

31

OS X पर आप ~ / .bash_profile का उपयोग करना चाहते हैं। ऐसा इसलिए है क्योंकि डिफ़ॉल्ट टर्मिनल द्वारा। प्रत्येक नई विंडो के लिए एक लॉगिन शेल खोलता है।

विभिन्न कॉन्फ़िगरेशन फ़ाइलों के बारे में और अधिक देखें और जब उनका उपयोग यहां किया जाता है: .bashrc, .bash_ile, और .environment के बीच क्या अंतर है?

और यहां OSX के संबंध में: About .bash_profile, .bashrc, और कहां उपनाम लिखा जाना चाहिए?


31

मैं सिर्फ उदात्तता के साथ zshrc खोलता हूं, और इसे संपादित करता हूं।

subl .zshrc

और इसे उदात्त पर जोड़ें:

alias blah="/usr/bin/blah"

इसे टर्मिनल में चलाएं:

source ~/.bashrc

किया हुआ।


4
यह उलझन है। यदि आपका शेल बैश है, तो इस पृष्ठ पर कई अन्य उत्तर अधिक विस्तृत और सहायक हैं। यदि आप बैश के बजाय Zsh का उपयोग करते हैं, तो जाहिर है आपको source .zshrcअपने वर्तमान में चल रहे शेल उदाहरण में किए गए परिवर्तनों को लोड करने के लिए अंत में होना चाहिए ।
त्रिकालिका

18

मेरी .bashrcफ़ाइल में निम्न पंक्तियाँ डिफ़ॉल्ट रूप से थीं:

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

इसलिए, मेरे प्लेटफ़ॉर्म .bash_aliasesमें डिफ़ॉल्ट रूप से उपनामों के लिए उपयोग की जाने वाली फ़ाइल है (और जो मैं उपयोग करता हूं)। मैं OS X उपयोगकर्ता नहीं हूं, लेकिन मुझे लगता है कि यदि आप अपनी .bashrcफ़ाइल खोलते हैं , तो आप पहचान पाएंगे कि आपके प्लेटफ़ॉर्म में आमतौर पर उपनाम के लिए उपयोग की जाने वाली फ़ाइल क्या है।


यदि आप टर्मिनल विंडो खोलते समय प्रोफ़ाइल स्वचालित रूप से लोड नहीं करते हैं, तो संभवतः यह निष्पादन योग्य अनुमति को याद कर रहा है। यह आदेश इसे ठीक कर देगा और इसे भविष्य के सत्रों के लिए स्वचालित रूप से लोड होना चाहिए:chmod u+x .bash_profile
मिसचिनब

1
@Mischinab नहीं, फ़ाइल को बस इसके विन्यास फाइल के रूप में पढ़ने के लिए बैश के लिए पठनीय होना चाहिए। इसे निष्पादन योग्य बनाना तकनीकी रूप से हानिरहित है लेकिन अनावश्यक है। मैं इसे गैर-तकनीकी आधार पर हतोत्साहित करूंगा (आप खुद को और / या दूसरों को भ्रमित कर सकते हैं)।
त्रिकालिका

9
cd /etc
sudo vi bashrc

निम्नलिखित जोड़ें जैसे:

alias ll="ls -lrt"

अंत में टर्मिनल को पुनः आरंभ करें।


1
उर्फ जोड़ने के बाद। अपनी '.bash_profile' फ़ाइल पर 'स्रोत' चलाएँ। Ex: source ~ / .bash_profile (कमांड जो बैश उपनामों को सक्रिय / पुनः लोड करता है)
UIResponder

8

यह मेरे लिए macOS मेजेव पर काम करता है

आप कुछ सरल उपाय कर सकते हैं:

1) खुला टर्मिनल

2) sudo nano /.bash_profile

3) अपने उपनाम जोड़ें, उदाहरण के लिए:

# some aliases
alias ll='ls -alF'
alias la='ls -A'
alias eb="sudo nano ~/.bash_profile && source ~/.bash_profile"
#docker aliases
alias d='docker'
alias dc='docker-compose'
alias dnax="docker rm $(docker ps -aq)"
#git aliases
alias g='git'
alias new="git checkout -b"
alias last="git log -2"
alias gg='git status'
alias lg="git log --pretty=format:'%h was %an, %ar, message: %s' --graph"
alias nah="git reset --hard && git clean -df"
alias squash="git rebase -i HEAD~2"

4) source /.bash_profile

किया हुआ। का उपयोग करें और आनंद लें!


7

स्क्रिप्ट और प्रोग्राम्स के ~/.bashrcलिए कॉन्फिग फाइल है और टर्मिनल का उपयोग करने पर जो कॉन्टेक्ट फाइल लोड हो जाती है ~/.bash_login

मुझे लगता है कि सबसे अच्छा तरीका सिर्फ सब कुछ है ~/.bashrc

अपने विशिष्ट प्रश्न के लिए बस दर्ज करें (यह किसी भी मौजूदा ~ / .bashrc को अधिलेखित कर देगा):

echo "alias blah=\"/usr/bin/blah\"" >>~/.bashrc

टर्मिनल में और एक ~/.bashrcफ़ाइल आपके नए परिवर्तनों के साथ बनाई जाएगी। उसके बाद बस नए उपनाम, फ़ंक्शंस, सेटिंग्स आदि को जोड़ने के लिए फ़ाइल को संपादित करें।


5
क्या आपको >>इसके बजाय उपयोग नहीं करना चाहिए >ताकि यह सब कुछ बदलने के बजाय फ़ाइल में संलग्न हो जाए?
जॉनी

6
  1. घर जाओ
  2. खोलें .bashrc
  3. फ़ाइल के नीचे उपनाम बनाएँ

    alias alias_name='command to do'
    eg: alias cdDesktop='cd /Desktop'
  4. फ़ाइल सहेजें

  5. source .bashrc

    source ~/.bashrc
  6. टर्मिनल खोलें (Ctrl + Alt + T) और cdDesktop टाइप करें और एंटर दबाएँ


4

यदि आप अपने blah="/usr/bin/blah"में डालते हैं ~/.bashrcतो आप $blahअपने लॉगिन शेल में टाइपिंग के विकल्प के रूप में उपयोग कर सकते हैं/usr/bin/blah


डॉलर का चिन्ह सशक्त रूप से किसी भी तरह से आवश्यक, उपयोगी या सही नहीं है।
ट्रिपल

4

MacOS कैटालिना और ऊपर

Apple ने अपने डिफॉल्ट शेल को zsh में बदल दिया , इसलिए कॉन्फिग फाइल्स में शामिल हैं ~/.zshenvऔर ~/.zshrc। यह बस की तरह है ~/.bashrc, लेकिन zsh के लिए। बस फ़ाइल को संपादित करें और आपको जो कुछ भी चाहिए उसे जोड़ें; हर बार जब आप एक नई टर्मिनल विंडो खोलते हैं, तो इसे बंद कर दिया जाना चाहिए:

nano ~/.zshenv alias py=python

फिर ctrl + x, y करें, फिर सेव करने के लिए एंटर करें।

लगता है कि यह फ़ाइल (लॉगिन, गैर-लॉगिन या स्क्रिप्ट) क्या है, इसलिए ~/.zshrcफ़ाइल से बेहतर लगता है ।

उच्च सिएरा और पहले

डिफ़ॉल्ट शेल बैश है, और आप फ़ाइल को संपादित कर सकते हैं ~/.bash_profileऔर उपनाम जोड़ सकते हैं:

nano ~/.bash_profile alias py=python

फिर ctrl + x, y, और सेव करने के लिए एंटर करें। इन कॉन्फिग पर अधिक जानकारी के लिए यह पोस्ट देखें । इसे अपने उपनाम के साथ सेट करना थोड़ा बेहतर है ~/.bashrc, फिर स्रोत ~/.bashrcसे ~/.bash_profile। में ~/.bash_profileयह तो ऐसा दिखाई देगा:

source ~/.bashrc


3

आप शायद .bashrcअपने घर निर्देशिका में फ़ाइल को संपादित करना चाहते हैं ।


1

अपने उपयोगकर्ता रूट पर एक bash_profile बनाएँ - पूर्व

/user/username/.bash_profile

खुली फाइल

vim ~ / .bash_profile

पूर्व के रूप में उपनाम जोड़ें। (सुरषित और बहार)

alias mydir="cd ~/Documents/dirname/anotherdir"

नए टर्मिनल में सिर्फ mydir टाइप करें - इसे खोलना चाहिए

/user/username/Documents/dirname/anotherdir

0

मुझे लगता है कि यह उचित तरीका है:

1) मंदिर में जाएं। open ~/.bashrc। मौजूद न होने पर जोड़ें

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

२) open ~/.bash_aliases। यदि मौजूद नहीं है:touch ~/.bash_aliases && open ~/.bash_aliases

3) बल्कि नए उपनाम जोड़ने के लिए
- .bash_aliasesफ़ाइल संपादित करें और टर्मिनल या प्रिंट को फिर से प्रिंट करें source ~/.bash_aliases
- echo "alias clr='clear'" >> ~/.bash_aliases && source ~/.bash_aliasesजहां आपका उपनाम है alias clr='clear'

4) पंक्ति जोड़ें source ~/.bash_aliasesकरने के लिए ~/.bash_profileफ़ाइल। यह टर्मिनल के प्रत्येक init में उपनाम लोड करने की जरूरत है ।


0

MacOS कैटालिना उपयोगकर्ताओं के लिए:

चरण 1: .zshrc फ़ाइल बनाएं या अपडेट करें

vi ~/.zshrc

चरण 2: अपनी उपनाम रेखा जोड़ें

alias blah="/usr/bin/blah"

चरण 3: स्रोत .zshrc

source ~/.zshrc 

चरण 4: कमांड प्रॉम्प्ट पर अन्य नाम टाइप करके, आप की जाँच करें

alias

0

एक स्थायी उपनाम शॉर्टकट बनाने के लिए, इसे .bash_profile फ़ाइल और बिंदु .bashrc फ़ाइल को .bash_profile फ़ाइल में डालें। इन चरणों का पालन करें (मैं ES6 कोड पर बेबल ट्रांसपिलर चलाने के लिए bnode नामक एक अन्य कमांड बना रहा हूं):

  1. टर्मिनल कमांड प्रॉम्प्ट पर जाएं और "सीडी" टाइप करें (यह आपको होम निर्देशिका में ले जाएगा। ध्यान दें: भले ही आपकी प्रोग्रामिंग फाइलें आपके "डी: ड्राइव" पर स्थित हों, आपकी ".बैश" फाइलें आपके "" पर स्थित हो सकती हैं। सी: ड्राइव])
  2. होम डायरेक्टरी का स्थान देखने के लिए, "pwd" टाइप करें (यह आपको होम डाइरेक्टरी पथ दिखाएगा और जहाँ .bash फाइलें संभवतः स्थित हैं)।
  3. सभी डॉट देखने के लिए "।" होम डायरेक्टरी में फाइल्स, "ls -la" टाइप करें (इसमें हिडन डॉट सहित सभी फाइल्स दिखेंगी। "फाइल्स)
  4. आपको 2 फाइलें दिखाई देंगी: ".bash_profile" और ".bashrc"
  5. VS कोड संपादक या अपने IDE में .bashrc फ़ाइल खोलें और पहली पंक्ति में (स्रोत। / Bash_profile) दर्ज करें (.bashrc फ़ाइल को .bash_profile पर)।
  6. VS कोड एडिटर में .bash_profile फ़ाइल खोलें और "alias bnode = '। / Node_modules / .bin / babel-node' दर्ज करें (बैश कमांड के रूप में निष्पादित करने के लिए स्थायी bnode शॉर्टकट बनाने के लिए)
  7. सहेजें और दोनों फ़ाइलों को बंद करें
  8. अब उस फ़ाइल को खोलें जिसे आप निष्पादित करना चाहते हैं (index.js) और टर्मिनल कमांड प्रॉम्प्ट में खोलें और कमांड "bnode index.js" का उपयोग करके फ़ाइल चलाएँ।
  9. अब आपकी index.js फ़ाइल निष्पादित करेगी लेकिन bnode alias in .bash_profile फ़ाइल बनाने से पहले आपको "bash: bnode कमांड नहीं मिला" त्रुटि मिलेगी और यह पहचान नहीं करेगा और कुछ ES6 कोड पर त्रुटियां देगा।
  10. Dotfiles के बारे में जानने के लिए उपयोगी लिंक: https://dotfiles.github.io/

आशा है कि ये आपकी मदद करेगा! सौभाग्य!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.