Часто ли вам приходится набирать длинную команду в командной строке или искать в истории bash ранее набранную команду? Если ваш ответ на любой из этих вопросов положительный, то вам пригодятся псевдонимы bash. Псевдонимы Bash позволяют задать запоминающуюся короткую команду для более длинной команды.
Псевдонимы Bash - это, по сути, ярлыки, которые избавляют вас от необходимости запоминать длинные команды и избавляют от необходимости набирать много текста при работе в командной строке. Например, вы можете задать псевдоним tgz для команды tar -xvfz.
Создание псевдонимов в Bash
Создание псевдонимов в bash очень просто. Синтаксис выглядит следующим образом:
1 | alias alias_name="command_to_run" |
Объявление псевдонима начинается с ключевого слова alias, за которым следует имя псевдонима, знак равенства и команда, которую вы хотите запустить при вводе псевдонима. Команда должна быть заключена в кавычки и без пробелов вокруг знака равенства. Каждый псевдоним должен быть объявлен с новой строки.
Команда ls, вероятно, одна из самых используемых команд в командной строке Linux. Я обычно использую эту команду с ключом -la, чтобы вывести список всех файлов и каталогов, включая скрытые, в формате длинного списка.
Давайте создадим простой псевдоним bash с именем ll, который будет служить ярлыком для команды ls -la. Для этого откройте окно терминала и введите:
1 | alias ll="ls -la" |
Теперь, если вы введете ll в терминале, вы получите тот же результат, что и при вводе ls -la.
Псевдоним ll будет доступен только в текущем сеансе оболочки. Если вы выйдете из сеанса или откроете новый сеанс с другого терминала, псевдоним будет недоступен.
Чтобы сделать псевдоним постоянным, необходимо объявить его в файле ~/.bash_profile или ~/.bashrc.
Откройте этот файл в текстовом редакторе :
1 | nano ~/.bashrc |
и добавьте свои псевдонимы:
1 2 3 4 5 6 7 8 | # Псевдонимы # alias alias_name="command_to_run" # Длинный список формата alias ll="ls -la" # Вывести мой публичный IP alias myip='curl curlmyip.ru' |
Псевдонимы должны быть названы так, чтобы их было легко запомнить. Также рекомендуется добавить комментарий для будущих ссылок.
После этого сохраните и закройте файл. Сделайте псевдонимы доступными в текущей сессии, набрав:
1 | source ~/.bashrc |
Как видите, создание простых псевдонимов bash - это быстро и очень просто.
Если вы хотите сделать свой .bashrc более модульным, вы можете хранить псевдонимы в отдельном файле. Некоторые дистрибутивы, такие как Ubuntu и Debian, включают файл .bash_aliases, который берется из ~/.bashrc.
Создание псевдонимов Bash с аргументами (функции Bash)
Иногда вам может понадобиться создать псевдоним, принимающий один или несколько аргументов. Вот тут-то и пригодятся функции bash.
Синтаксис для создания функции bash очень прост. Они могут быть объявлены в двух различных форматах:
1 2 3 | function_name () { [commands] } |
или
1 2 3 | function function_name { [commands] } |
Чтобы просто передать любое количество аргументов в функцию bash, поместите их сразу после имени функции, разделив пробелом. Передаваемые параметры имеют номера $1, $2, $3 и т.д., соответствующие позиции параметра после имени функции. Переменная $0 зарезервирована для имени функции.
Давайте создадим простую функцию bash, которая будет создавать каталог и затем переходить в него:
1 | nano ~/.bashrc |
1 2 3 4 | mkcd () { mkdir -p -- "$1" && cd -P -- "$1" } |
Как и в случае с псевдонимами, добавьте функцию в файл ~/.bashrc и запустите исходный ~/.bash_profile, чтобы перезагрузить файл.
Теперь вместо того, чтобы использовать mkdir для создания нового каталога, а затем cd для перемещения в этот каталог, вы можете просто ввести:
1 | mkcd new_directory |
-- - позволяет убедиться, что вы случайно не передали команде лишний аргумент. Например, если вы попытаетесь создать каталог, начинающийся на - (тире), не используя --, имя каталога будет интерпретировано как аргумент команды.
&& - гарантирует, что вторая команда будет выполнена только в случае успешного выполнения первой команды.