Сценарии Bash — работа с псевдонимом

Опубликовано: 30 Сентября, 2022

Псевдоним BASH — это ярлык для запуска команд с использованием некоторого сопоставления. Это способ создать несколько команд быстрого доступа для повторяющихся и множественных задач. Создаем псевдоним в среде BASH в указанных файлах. Мы также можем включить функции BASH, переменные и т. д., чтобы сделать псевдоним более программируемым и гибким.

Что такое псевдоним BASH?

Псевдоним BASH — это карта команд с наборами команд или функций, которые можно использовать в качестве ярлыка в командной строке для среды BASH. Bash Alias позволяет объединить несколько функций в одну команду, а также позволяет избежать повторяющихся или больших команд в простой команде быстрого доступа. Псевдоним BASH — это карта команд быстрого доступа с наборами команд, которые хранятся в файле с именем .bash_profile или .bashrc с определенным синтаксисом. Псевдонимы также можно комбинировать с синтаксисом и семантикой BASH, чтобы сделать ярлыки более настраиваемыми и гибкими.

Работа псевдонима

Ключевое слово псевдонима заменяет команду строкой, которая может быть набором команд или функций. Псевдоним определяется в файле ~/.bashrc или ~/.bash_profile . Эти файлы загружаются в среде оболочки, поэтому команды, перечисленные в псевдониме, также загружены и готовы к выполнению. Таким образом, псевдоним работает с конфигурацией BASH.

После загрузки псевдонимов или карт команд пользователь может взаимодействовать и вводить команды. Если команда в псевдониме выполняется, интерпретатор BASH заменяет псевдоним команды строкой команд, и, следовательно, достигается желаемое функционирование псевдонима или команды.

Мы увидим, как создать псевдоним BASH в следующем разделе.

Как создать псевдоним?

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

Создание .bashrc или .bash_profile

Во-первых, вы можете перейти в свой корневой каталог, открыть терминал или командную строку и ввести следующую команду:

Для Linux/macOS:

cd ~

Для Windows:

При использовании терминала git bash или Powershell

cd ~

Теперь вы должны быть в так называемом корневом каталоге вашей среды.

После перехода в корневой каталог вам необходимо создать файл с именем .bashrc или .bash_profile в самом корневом каталоге. Вы можете создать файл, однако вы создаете файл в соответствии со своими предпочтениями, но для сохранения стандартного способа для большинства операционных систем будет работать следующая команда:

echo >> .bash_profile

ИЛИ ЖЕ

echo >> .bashrc

Это создаст файл, если он отсутствует, но ничего не сделает, если файл уже создан и имеет содержимое.

Если вам не нравится перемещаться в корневой каталог, а затем создавать и записывать в файл, вы можете получить доступ к корневому каталогу с помощью « ~/ ». Вы можете создать файл, находящийся в любом другом каталоге или пути в вашей ОС. Следующая команда создает файл без изменения текущего каталога.

echo >> ~/.bash_profile

Создание функции

Мы можем создать независимую функцию в нашем bashrc или других сценариях bash и дополнительно связать их с помощью команды быстрого доступа, вызвав их. Чтобы создать функцию в BASH, мы можем использовать следующий простой синтаксис:

function x()
{
   # statements
}

ИЛИ ЖЕ

x()
{
    # statements
}

Затем мы можем написать логику для команды в этом функциональном блоке. В этом примере мы можем создать функцию для создания каталога и cd или перехода в этот каталог. Следовательно, мы можем написать код внутри функционального блока следующим образом:

function x()
{
   mkdir $1
   cd $1
}

$1 — это позиционный параметр для получения аргументов из командной строки и преобразования их в функцию или в скрипт как переменную. О них вы можете узнать в этой статье. Проще говоря, они делают сценарий или псевдоним более динамичным и упрощают ввод данных пользователем непосредственно из командной строки.

Создание псевдонима BASH

Теперь, когда у нас есть bashrc или bash_profile, мы можем начать с создания псевдонимов. Чтобы создать псевдоним, нам потребуются три вещи: ключевое слово псевдонима, чтобы указать, что следующее предложение создаст псевдоним, команда или сокращенное слово, которое будет использоваться для запуска последней части, т.е. команды, которые должны быть выполнены. Команды внутри псевдонима должны выполняться из среды Shell/BASH.

Синтаксис псевдонима следующий:

alias command="sets of commands/functions"

Как было сказано ранее, нам требуются три части информации, т. е. ключевое слово псевдонима, сокращенная команда и наборы команд или функций, которые должны быть выполнены.

Как установить псевдоним Bash?

Мы можем получить доступ к значению последней команды в качестве типа возвращаемого значения, используя $? вне функции после вызова функции. Но чтобы просто выполнять команды, мы можем просто вызывать функции

Давайте возьмем пример для создания псевдонима, предположим, мы хотим создать каталог и перейти в него. Нам нужно будет запустить две команды, т.е. mkdir и cd . Это может быть сценарий для создания псевдонима. Мы можем объединить команды в функцию или псевдоним, чтобы не вводить все команды.

Псевдоним будет выглядеть так:

alias md="x(){ mkdir "$1"; cd "$1"; }; x"

Ключевое слово alias указывает, что интерпретатор BASH загружает переменную карты как команду. Команда называется « md », которая сопоставляется с функцией «x» . Функция x создает каталог с именем, переданным команде md, и изменяет каталог на него . Функция определяется и вызывается в конце, чтобы сделать ее простой и понятной.

Другой способ проделать тот же трюк — создать функцию независимо в другом месте и вызвать ее из псевдонима. Следующий псевдоним умирает так же, но пишется по-другому:

alias md="x"
x(){
    mkdir $1
    cd $1
}

Это выглядит очень читабельно и чисто. Это также можно использовать для добавления синтаксиса и семантики BASH, таких как циклы, условия и другие программные подходы, чтобы сделать псевдоним более настраиваемым и гибким.

Разница между одинарными и двойными кавычками

Одинарные и двойные кавычки, используемые в операторах псевдонимов, имеют определенное значение и должны использоваться в соответствии с требованиями. Мы используем двойные кавычки для раскрытия значения переменной в BASH, т.е. для фактического анализа значения имени переменной. Если мы просто используем одинарные кавычки, значение переменной не отображается, а анализируется только имя переменной как есть.

Например, в заявлении:

#!/bin/usr/env bash
p=125

echo "The value of variable p is $p"

echo "The value of variable p is $p"

В этом примере значение переменной p расширяется или анализируется в команде только в том случае, если мы заключаем его в двойные кавычки. Это также применимо при работе с псевдонимом в файлах bashrc или bash_profile, нам нужно использовать двойные кавычки, чтобы расширить значение переменной.

Структура псевдонима

После создания псевдонима мы можем немного глубже понять структуру псевдонима. Как обсуждалось ранее, создание псевдонима состоит из трех частей:

псевдоним ключевого слова

Ключевое слово псевдонима в BASH заменяет строку другой строкой. Сокращенная команда — это строка, которая будет использоваться вместо строки в правой части команды. Следовательно, ключевое слово псевдонима действует как сокращение для строки, которая представляет собой набор команд или функций.

команда

Команда — это сокращение, которое будет использоваться в терминале. Мы можем использовать любую команду или строку, избегая реальных команд, таких как cd, mkdir, rmdir, touch, echo и т. д., которые могут конфликтовать с ними и приводить к нежелательному поведению.

команды/функции

Это наборы команд, которые будут выполняться при вводе команды в псевдониме. Это могут быть функции BASH, команды оболочки или любые другие наборы команд, совместимые со средой оболочки.