Вы часто вводите длинную команду в командной строке или ищете в истории bash ранее набранную команду? Если вы ответите «да» на любой из этих вопросов, то вам пригодятся псевдонимы bash. Псевдонимы Bash позволяют установить запоминающуюся комбинацию клавиш для более длинной команды.
Псевдонимы Bash – это, по сути, ярлыки, которые могут избавить вас от необходимости запоминать длинные команды и избавить от необходимости много печатать, когда вы работаете в командной строке. Например, вы можете установить псевдоним tgz как ярлык для команды tar -xvfz.
В этой статье объясняется, как создавать псевдонимы bash, чтобы вы могли быть более продуктивными в командной строке.
Создание псевдонимов Bash
Создание псевдонимов в Bash очень просто. Синтаксис выглядит следующим образом:
alias alias_name="command_to_run"
Чтобы создать новый псевдоним bash, начните с ввода ключевого слова alias. Затем объявите псевдоним, за которым следует знак равенства, и команду, которую вы хотите выполнить при вводе псевдонима. Команда должна быть заключена в кавычки и без пробела вокруг знака равенства. Каждый псевдоним должен быть объявлен в новой строке.
Команда ls, вероятно, является одной из наиболее часто используемых команд в командной строке Linux. Обычно используется эта команда с переключателем -la для вывода списка всех файлов и каталогов, включая скрытые, в формате длинного списка.
Давайте создадим простой псевдоним bash, llкоторый будет ярлыком для команды ls -la. Для этого откройте окно терминала и введите:
alias ll="ls -la"
Теперь, если вы наберете ll в своей консоли, вы получите тот же вывод, что и при вводе ls -la.
Псевдоним ll будет доступен только в текущем сеансе оболочки. Если вы выйдете из сеанса или откроете новый сеанс из другого терминала, псевдоним будет недоступен.
Чтобы сделать псевдоним постоянным, вам нужно объявить его в файле ~/.bash_profile или ~/.bashrc. Откройте файл ~/.bashrc в вашем текстовом редакторе:
nano ~/.bashrc
и добавьте ваши псевдонимы:
# Aliases # alias alias_name="command_to_run" # Long format list alias ll="ls -la" # Print my public IP alias myip='curl ipinfo.io/ip'
Вы должны назвать свои псевдонимы так, чтобы их было легко запомнить. Также рекомендуется добавить комментарий для дальнейшего использования.
После этого сохраните и закройте файл. Сделайте псевдонимы доступными в текущей сессии, набрав:
source ~/.bash_profile
Как вы можете видеть, создание простых псевдонимов bash происходит быстро и очень просто.
Создание псевдонимов Bash с аргументами (функции Bash)
Иногда вам может понадобиться создать псевдоним, который принимает один или несколько аргументов, вот где функции bash пригодятся.
Синтаксис для создания функции bash очень прост. Они могут быть объявлены в двух разных форматах:
function_name () { [commands] }
или же
function function_name { [commands] }
Чтобы передать любое количество аргументов функции bash, просто поместите их сразу после имени функции, разделив их пробелом. Передаваемые параметры являются $1, $2, $3 и т.д., в соответствии с положением параметра после имени функции. Переменная $0 зарезервирована для имени функции.
Давайте начнем с создания простой функции bash, которая создаст каталог, а затем перейдет в него:
mkcd () { mkdir -p -- "$1" && cd -P -- "$1" }
Так же, как при создании новых псевдонимов, добавьте функцию в файл ~/.bashrc и запустите source ~/.bash_profile для перезагрузки.
Теперь вместо использования mkdir для создания нового каталога, а затем команду cd для перехода в этот каталог вы можете просто набрать:
mkcd new_directory
Если вам интересно, что такое — и &&, вот краткое объяснение.
- — – гарантирует, что вы не случайно передали дополнительный аргумент команде. Например, если вы попытаетесь создать каталог, который начинается с -(тире) без использования –имени каталога, будет интерпретироваться как аргумент команды.
- && – обеспечивает выполнение второй команды, только если первая команда выполнена успешно.
Заключение
К настоящему времени вы должны хорошо понимать, как создавать псевдонимы и функции bash, которые сделают вашу жизнь в командной строке проще и продуктивнее.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.