Альясы в .bashrc

Revision as of 07:29, 30 December 2022 by Krotesk (talk | contribs)
Other languages:
English • ‎Türkçe • ‎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.

The syntax for creating a bash function is very easy. They can be declared in two different formats:

~/.bashrc
...
function_name () {
  [commands]
}
...

or

~/.bashrc
...
function function_name {
  [commands]
}
...

To pass any number of arguments to the bash function simply, put them right after the function’s name, separated by a space. The passed parameters are $1, $2, $3, etc., corresponding to the position of the parameter after the function’s name. The $0 variable is reserved for the function name.

Let’s create a simple bash function which will create a directory and then navigate into it:

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

Now instead of using mkdir to create a new directory and then cd to move into that directory , you can simply type:

user $ mkcd new_directory COPY TO CLIPBOARD

Keeping bash alias in a different file

Bash allows you to add local aliases in your ~/.bashrc file. To do this create a file called ~/.bash_aliases and add these contents in your ~/.bashrc file:

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

Now you can add any aliases in your ~/.bash_aliases file and then load them into your Bash session with the source ~/.bashrc command.

Conclusion

This list is not comprehensive. Almost anything that is commonly used can be shortened with an alias

See Also

Bash documentation ArchWiki