Як створити псевдонім Bash?


189

Я перебуваю на OSX, і мені потрібно помістити щось подібне alias blah="/usr/bin/blah"у файл config, але я не знаю, де знаходиться конфігураційний файл.


По суті, цей конкретний псевдонім в основному є зайвим, якщо ви спеціально не намагаєтеся змінити 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" '. Джерело bash профілю та введіть, hiщоб побачити його.
devssh

Відповіді:


268

Ви можете додати aliasабо functionу свій файл сценарію запуску. Зазвичай це .bashrc, .bash_loginабо .profileфайл у вашому домашньому каталозі.

Оскільки ці файли приховані, вам доведеться зробити їх, ls -aщоб перелічити їх. Якщо у вас немає такого, можете створити його.


Якщо я правильно пам'ятаю, коли я придбав свій Mac, .bash_loginфайл не був там. Я повинен був створити його для себе , так що я міг би поставити prompt info, alias, functionsі т.д. в ньому.

Ось такі кроки, якщо ви хочете створити його:

  1. Запуск терміналу
  2. Введіть, cd ~/щоб перейти до домашньої папки
  3. Введіть, touch .bash_profileщоб створити новий файл.
  4. Відредагуйте .bash_profileулюблений редактор (або просто введіть його, open -e .bash_profileщоб відкрити його в TextEdit.
  5. Введіть, . .bash_profileщоб перезавантажити .bash_profileта оновити будь-який доданий вами псевдонім.

8
Дивовижне, дякую @jaypal! Чи команда source .bash_profileє альтернативою кроку 5?
Ян Кемпбелл

10
Так, .bash_profileв моєму домашньому режисері OSX Mavericks не було . Створивши його, додавши до нього псевдонім, а потім ініціювавши його . .bash_profileкомандою.
Бредлі Флуд

1
.bash_profile працює для мене! :) .bashrc не їхав на Ель-Капітан
Parth

5
На OSX .bash_profileпрацює El Capitan . Якщо воно не завантажується автоматично, коли ви відкриваєте вікно терміналу, це, мабуть, тому, що воно було створене без дозволу виконання. Ця команда виправить це, і вона автоматично завантажиться для майбутніх сеансів:chmod u+x .bash_profile
Mischinab

1
Профіль заблокований .bash_profile заблокований, як я можу оновити цей файл
amit gupta

31

У OS X ви хочете використовувати ~ / .bash_profile. Це тому, що за замовчуванням Terminal.app відкриває оболонку входу для кожного нового вікна.

Дізнайтеся більше про різні конфігураційні файли та коли вони використовуються тут: Яка різниця між .bashrc, .bash_profile та .en Environment

і стосовно OSX тут: About .bash_profile, .bashrc, і де слід писати псевдоніми?


31

Я просто відкриваю zshrc з піднесеним і редагую його.

subl .zshrc

І додайте це на піднесене:

alias blah="/usr/bin/blah"

Запустіть це в терміналі:

source ~/.bashrc

Зроблено.


4
Це плутати. Якщо ваша оболонка - Bash, багато інших відповідей на цій сторінці більш детальні та корисні. Якщо ви використовуєте Zsh замість Bash, то, очевидно, вам слід 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
Mischinab

1
@Mischinab Ні, файл потрібно просто читати, щоб Bash міг прочитати його як файл конфігурації. Зробити його виконаним технічно нешкідливим, але зайвим. Я б заперечував це з нетехнічних міркувань (ви можете в результаті заплутати себе та / або інших).
трійчанка

9
cd /etc
sudo vi bashrc

Додайте таке:

alias ll="ls -lrt"

Нарешті перезапустіть термінал.


1
Після додавання псевдоніма. Запустіть "джерело" у файлі ".bash_profile". Наприклад: source ~ / .bash_profile (команда, яка активує / перезавантажує псевдоніми bash)
UIResponder

8

Він працює для мене на macOS Majave

Ви можете виконати кілька простих кроків:

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. джерело .bashrc

    source ~/.bashrc
  6. Відкрийте термінал (Ctrl + Alt + T) та введіть cdDesktop та натисніть клавішу Enter


5

MacOS Каталіна та вище

Apple , як раз перемкнув свою оболонку по замовчуванням Zsh , тому файли конфігурації включають в себе ~/.zshenvі ~/.zshrc. Це так само ~/.bashrc, але для zsh. Просто відредагуйте файл і додайте те, що вам потрібно; його потрібно отримувати щоразу, коли ви відкриваєте нове вікно терміналу:

nano ~/.zshenv alias py=python

Потім зробіть ctrl + x, y, а потім введіть для збереження.

Цей файл, здається, виконується незалежно від того, що (логін, невхід в систему чи сценарій), начебто краще, ніж ~/.zshrcфайл.

Висока Сьєрра і раніше

Оболонка за замовчуванням - bash, і ви можете редагувати файл ~/.bash_profileі додавати псевдоніми:

nano ~/.bash_profile alias py=python

Потім ctrl + x, y і введіть для збереження. Докладніше про ці налаштування див. У цій публікації . Трохи краще встановити його своїм псевдонімом ~/.bashrc, а потім джерелом ~/.bashrcз ~/.bash_profile. У ~/.bash_profileньому буде виглядати так:

source ~/.bashrc


Це повинно бути вище, коли Каталіна є найсвіжішою для Mac OS
Cauder

4

Якщо ви поклали blah="/usr/bin/blah"у вашому , ~/.bashrcто ви можете використовувати $blahу вашій оболонці в якості заміни для введення/usr/bin/blah


Знак долара очевидно не є якимось необхідним, корисним або правильним тут.
трійка

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

2) 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файлу. Для цього потрібно завантажити псевдоніми в кожному ініціалі терміналу.


0

Для користувачів macOS Catalina:

Крок 1: створити або оновити файл .zshrc

vi ~/.zshrc

Крок 2. Додайте свій псевдонім

alias blah="/usr/bin/blah"

Крок 3: Джерело .zshrc

source ~/.zshrc 

Крок 4: Перевірте свій псевдонім, ввівши псевдонім у командному рядку

alias

0

Щоб створити постійний ярлик псевдоніма, помістіть його у .bash_profile файл і вкажіть .bashrc файл на .bash_profile файл. Виконайте наступні кроки (я створюю псевдонім команду bnode, щоб запустити бейбіл-транспілер на код ES6):

  1. Перейдіть до командного рядка терміналу і введіть “cd” (це переведе вас до домашнього каталогу. Примітка. Навіть якщо ваші файли програмування можуть бути розміщені на вашому “D: накопичувачі”, ваші “.bash” файли можуть бути розташовані у вашому “ C: диск ")
  2. Щоб побачити розташування домашнього каталогу, введіть “pwd” (це покаже вам шлях до домашнього каталогу та де, можливо, знаходяться файли .bash)
  3. Щоб побачити всі крапки "." файли в домашній каталог, введіть "ls -la" (це покаже ВСІ файли, включаючи приховані точки "." файли)
  4. Ви побачите 2 файли: ".bash_profile" та ".bashrc"
  5. Відкрийте .bashrc файл у редакторі коду VS або у вашій IDE та введіть у першому рядку "source ~ / .bash_profile" (щоб вказати .bashrc файл на .bash_profile)
  6. Відкрийте файл .bash_profile в редакторі коду VS та введіть "псевдонім bnode = '. / Node_modules / .bin / babel-node" "(щоб створити постійний ярлик bnode для виконання в якості команди bash)
  7. Збережіть і закрийте обидва файли
  8. Тепер відкрийте файл, який ви хочете виконати (index.js), і відкрийте в командному рядку термінала та запустіть файл за допомогою команди «bnode index.js»
  9. Тепер ваш файл index.js буде виконуватися, але перед створенням псевдоніму bnode у файлі .bash_profile ви отримаєте помилку "bash: bnode команда не знайдена", і він не розпізнає та видасть помилки в деякому коді ES6.
  10. Корисне посилання, щоб дізнатися про dotfiles: https://dotfiles.github.io/

Я сподіваюся, що це допомагає! Удачі!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.