Подстроечные оболочки Bash

Иногда требуется запустить одну или несколько команд или скриптов в фоновом режиме. Это можно сделать, записав все команды или сценарии в файл сценария и выполнив его с помощью амперсанда (&) или выполнив команды или сценарии в подоболочке из текущей оболочки. Подоболочка может быть использована для выполнения нескольких команд или скриптов, заключенных в оболочку с помощью символов $() или обратных знаков (`). Способы использования подоболочек Bash показаны в данном учебном пособии.

Различные примеры подоболочек

В этой части учебного пособия показаны различные способы выполнения сценария в подоболочке.

Пример 1: Выполнение подоболочки с использованием одинарной и двойной кавычек

Создайте Bash-файл со следующим сценарием, который печатает текущую дату и время. Далее выводится переменная $strVal, заключив сценарий подшелла в одинарные и двойные кавычки.

После выполнения сценария появляется следующий вывод. Сценарий подшивки печатается как строка, если он заключен в одинарные кавычки. При заключении сценария подшивки в двойные кавычки он выполняется:

Выполнение подоболочки с использованием одинарной и двойной кавычек

Пример 2: Поиск всех файлов определенного расширения с помощью под-оболочки

Создайте Bash-файл со следующим сценарием, который принимает на вход от пользователя расширение файла. Далее в подшивке выполняется команда "ls" для поиска всех файлов данного расширения.

После выполнения скрипта с входным параметром "txt" появляется следующий результат. Согласно полученному результату, в текущем местоположении существует три текстовых файла:

Поиск всех файлов определенного расширения с помощью под-оболочки

После выполнения скрипта с пустым значением появляется следующий вывод:

Поиск всех файлов определенного расширения с помощью под-оболочки

Пример 3: Выполнение арифметического выражения в подоболочке

Создайте Bash-файл со следующим сценарием, в котором одноименная переменная используется в основной оболочке и в подоболочке. Арифметическая операция определена в основной оболочке и в подоболочке.

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

Выполнение арифметического выражения в подоболочке

Пример 4: Выполнение нескольких команд в подоболочке

Создайте Bash-файл со следующим сценарием, который отправляет вывод команды "echo" в команду "sed", заменяющую совпадающее строковое значение на другую строку. Результатом команды "echo" является значение "JavaScript". Таким образом, это значение сравнивается с "Java" и "JavaScript". Если совпадение найдено, то совпадающие строки заменяются строкой "Type".

После выполнения сценария появляется следующий вывод. Судя по выводу, строка "Java" заменена строкой "Type". В результате вложенная оболочка выдает "JavaScript TypeScript":

Выполнение нескольких команд в подоболочке

Заключение

Одна или несколько команд или сценариев могут быть выполнены с помощью подоболочки, не затрагивая основную оболочку. В данном учебном пособии на нескольких примерах объясняются цели использования подоболочек. В приведенных примерах с помощью под-оболочки выполняются различные типы задач, такие как поиск файлов, вычисление суммы чисел, замена строк и т.д. Концепция использования подоболочек продемонстрирована наглядно, и после прочтения этого руководства начинающие пользователи Bash смогут использовать подоболочки.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий