Как создать псевдоним Bash?


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.
tripleee

Даже тогда это сомнительное, хакерское решение, которое должно сопровождаться большим жирным уродливым комментарием с предупреждающим сообщением о том, как это укусит вашу стройную нижнюю часть живота, и другим высказыванием «Я говорил вам об этом» каждый раз, когда это происходило.
tripleee

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
Да на моем OSX Mavericks не было .bash_profileв моем домашнем каталоге. Его создание, добавление псевдонима, а затем его инициализация с помощью . .bash_profileкоманды работали.
Брэдли Флад

1
.bash_profile у меня работает! :) .bashrc не на Эль-Капитан
Парт

5
На OSX El Capitan .bash_profileработает. Если он не загружается автоматически при открытии окна терминала, возможно, это связано с тем, что он был создан без разрешения на выполнение. Эта команда исправит это и должна автоматически загружаться для будущих сессий:chmod u+x .bash_profile
Mischinab

1
.bash_profile профиль заблокирован, как я могу обновить этот файл
amit gupta

31

В OS X вы хотите использовать ~ / .bash_profile. Это связано с тем, что по умолчанию Terminal.app открывает оболочку входа в систему для каждого нового окна.

Узнайте больше о различных файлах конфигурации и о том, когда они используются, здесь: В чем разница между .bashrc, .bash_profile и .environment?

и в отношении OSX здесь: О .bash_profile, .bashrc, и где должен быть записан псевдоним?


31

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

subl .zshrc

И добавить это на возвышенном:

alias blah="/usr/bin/blah"

Запустите это в терминале:

source ~/.bashrc

Готово.


4
Это запутано. Если ваша оболочка - Bash, многие другие ответы на этой странице более подробны и полезны. Если вы используете Zsh вместо Bash, то, очевидно, вам следует source .zshrcв конце загрузить изменения, которые вы внесли в текущий запущенный экземпляр оболочки.
tripleee

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 мог прочитать его как файл конфигурации. Делать его исполняемым является технически безвредным, но ненужным. Я бы не одобрял это по нетехническим причинам (вы можете запутать себя и / или других).
tripleee

9
cd /etc
sudo vi bashrc

Добавьте следующее как:

alias ll="ls -lrt"

Наконец перезапустите Терминал.


1
После добавления псевдонима. Запустите 'source' в вашем файле .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


Теперь это должно быть выше, поскольку Catalina является самой современной Mac OS
Cauder

4

Если вы вставите blah="/usr/bin/blah"свой, ~/.bashrcто вы можете использовать $blahв своей оболочке входа в качестве замены для ввода/usr/bin/blah


Знак доллара здесь никоим образом не является необходимым, полезным или правильным.
tripleee

3

Вы, вероятно, хотите отредактировать .bashrcфайл в вашем домашнем каталоге.


1

создайте bash_profile в своей учетной записи пользователя root - ex

/user/username/.bash_profile

открыть файл

vim ~ / .bash_profile

добавить псевдоним как ex. (Сохранить и выйти)

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 для запуска транспортера babel на коде ES6):

  1. Перейдите в командную строку терминала и введите «cd» (это приведет вас в домашний каталог. Примечание: даже если ваши программные файлы могут находиться на вашем «D: диске», ваши «.bash» файлы могут находиться на вашем « C: диск »)
  2. Чтобы увидеть местоположение домашнего каталога, введите «pwd» (это покажет вам путь к домашнему каталогу и где, вероятно, находятся файлы .bash)
  3. Чтобы увидеть все точки "." файлы в домашнем каталоге, введите «ls -la» (это покажет ВСЕ файлы, включая скрытые точки «.» файлы)
  4. Вы увидите 2 файла: «.bash_profile» и «.bashrc»
  5. Откройте файл .bashrc в VS Code Editor или вашей 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 not found», и он не распознает и не выдаст ошибки в некотором коде ES6.
  10. Полезная ссылка, чтобы узнать о точечных файлах: https://dotfiles.github.io/

Надеюсь, это поможет! Удачи!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.