Альясы в .bashrc

Revision as of 07:30, 30 December 2022 by Krotesk (talk | contribs) (Created page with "Синтаксис для создания функции bash очень прост. Они могут быть объявлены в двух различных формат...")
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.

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

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

или

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

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

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