Альясы в .bashrc

This page is a translated version of the page Aliases in .bashrc and the translation is 100% complete.
Other languages:
English • ‎português do Brasil • ‎русский

Что такое bashrc? Что такое альяс(alias)?

  • .bashrc - это конфигурационный файл для bash, интерпретатора команд и оболочки linux.
  • Альяс - это заменитель (полной) команды. Его можно рассматривать как ярлык.
  • .bashrc находится в домашнем каталоге пользователя ( ~ ). Это скрытый файл, чтобы увидеть его - отобразите скрытые файлы в файловом менеджере или используйте ls -a.

Бэкап текущего .bashrc

Может быть полезно сделать резервную копию ~/.bashrc перед его редактированием, так как это позволяет легко восстановиться после непредвиденных ситуаций. Чтобы сделать резервную копию текущего .bashrc . Откройте терминал и выполните

user $ cp ~/.bashrc ~/.bashrc.bak COPY TO CLIPBOARD


.

Оригинальный .bashrc может быть восстановлен с помощью команды

user $ cp -i ~/.bashrc.bak ~/.bashrc COPY TO CLIPBOARD


Примечание

Любые изменения, внесенные в ~/.bashrc, не будут иметь эффекта на все открытые в данный момент окна терминала. Чтобы проверить только что внесенные изменения в .bashrc, откройте новый терминал или используйте команду:

user $ source ~/.bashrc COPY TO CLIPBOARD


.

Примеры альясов

Альясы могут превратить сложную командную строку в простую пользовательскую команду, которую можно набрать в терминале.

Стандартный синтаксис

Создание альясов в bash очень просто. Синтаксис выглядит следующим образом:

~/.bashrc
...
alias название_alias="команда_для_запуска"
...

Для обновления системы

Для обновления системы с помощью pacman используется следующая команда

user $ sudo pacman -Syu COPY TO CLIPBOARD


.

Она может стать альясом в ~/.bashrc с помощью

~/.bashrc
...
alias pacup="sudo pacman -Syu"
...

Для обновления пакетов, установленных из AUR через pamac, используется команда

user $ pamac upgrade --aur COPY TO CLIPBOARD


Она может стать альясом

~/.bashrc
...
alias aup="pamac upgrade --aur"
...

Для редактирования часто используемых файлов

Для редактирования самого ~/.bashrc и автоматической перезагрузки конфигурационного файла bash (чтобы изменения, внесенные в .bashrc, могли быть реализованы в текущей терминальной сессии)

~/.bashrc
...
alias bashrc="nano ~/.bashrc && source ~/.bashrc"
...

Для редактирования /etc/fstab

~/.bashrc
...
alias fstab="sudo nano /etc/fstab"
...

Для редактирования /etc/default/grub

~/.bashrc
...
alias grub="sudo nano /etc/default/grub"
...

Обновление GRUB

Чтобы обновить загрузчик grub с помощью команды sudo update-grub

~/.bashrc
...
alias grubup="sudo update-grub"
...

Создание альясов Bash с аргументами (функции Bash)

Иногда вам может понадобиться создать альяс, принимающий один или несколько аргументов. Вот тут-то и пригодятся функции bash.

Синтаксис для создания функции bash очень прост. Они могут быть объявлены в двух различных форматах:

~/.bashrc
...
имя_функции (){
  [команды]
}
...

или

~/.bashrc
...
function имя_функции {
  [команды]
}
...

Чтобы просто передать любое количество аргументов в функцию bash, поместите их сразу после имени функции, разделив пробелом. Передаваемые параметры - это $1, $2, $3 и т.д., соответствующие позициям параметра после имени функции. Переменная $0 зарезервирована для имени функции.

Давайте создадим простую функцию bash, которая будет создавать каталог и затем переходить в него:

~/.bashrc
...
mkcd ()
{
  mkdir -p -- "$1" && cd -P -- "$1"
}
...

Теперь вместо того, чтобы использовать mkdir для создания нового каталога, а затем cd для перемещения в этот каталог, вы можете просто набрать:

user $ mkcd new_directory COPY TO CLIPBOARD


.

Хранение альяса bash в другом файле

Bash позволяет добавлять локальные альясы в Ваш ~/.bashrc. Для этого создайте файл ~/.bash_aliases и добавьте его содержимое в Ваш файл ~/.bashrc:

~/.bashrc
...
if [ -e $HOME/.bash_aliases ]; then
    source $HOME/.bash_aliases
fi
...

Теперь вы можете добавить любые альясы в Ваш ~/.bash_aliases и затем загрузить их в свою Bash-сессию с помощью команды source ~/.bashrc.

Заключение

Этот список не является исчерпывающим. Почти все, что часто используется, можно сократить с помощью альяса.

Смотрите также

Документация по Bash

ArchWiki