Переменные в скриптах Bash

Переменные в скриптах Bash

Рубрики:

Bash, Linux

Метки:

Bash, linux

Переменнаяименованная ячейка (область) памяти, которая содержит информацию, называемую значением. В скриптах Bash переменные довольно гибкие с точки зрения типов данных, которые они могут хранить. В отличие от многих других языков программирования, в которых применяется строгая типизация, в Bash нет встроенных типов данных. Вместо этого переменные по умолчанию содержат строки, но они могут содержать и другие типы данных, включая целые числа и массивы.

В этой статье мы познакомим Вас с основами объявления и использования переменных в сценариях Bash.

Содержание:

  1. Объявление переменных в скриптах
    1. Строковый тип данных
    2. Целочисленный тип данных
    3. Массивы
  2. Расширение переменных в скриптах Bash
  3. Выводы

Объявление переменных в скриптах

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

Строковый тип данных

Строка (от англ. string) — последовательность символов, обычно используемая для представления текста, в который могут входить буквы, цифры, пробелы и специальные символы. Значения строковых переменных обычно заключаются в одинарные или двойные кавычки. Например:

 

string data type

Целочисленный тип данных

Тип данных «целое число» (от англ. integer) используется для представления чисел без дробных частей. Целые числа могут быть положительными, отрицательными или нулем. Они обычно применяются для индексации и выполнения арифметических операций. Значения целочисленных переменных не требуется заключать в кавычки. Например:

 

Кроме этого, Вы можете записать в переменную целое число с помощью арифметических выражений, для которых следует использовать конструкцию $(( )). К примеру:

 

integer data type

Массивы

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

Чтобы объявить массив в сценариях Bash, используйте круглые скобки (), в которые необходимо запичать значения через пробелы. Например:

 

Для получения доступа к определенному элементу массива примените следующую конструкцию:

 

Где:

  • <array_name> — название массива;
  • element_index — индекс элемента.

Читайте также: Как использовать ассоциативные массивы в Bash.

Например, чтобы вывести на экран первый и второй элементы нашего массива, используем следующую команду:

 

Вы можете добавить в конец массива новое значение. Для этого воспользуйтесь конструкцией <array_name>+=("new_value"). К примеру:

 

Чтобы узнать длину массива (то есть, количество элементов в нем), напишите следующую команду:

 

array data type

Расширение переменных в скриптах Bash

Расширение переменных (от англ. Variable expansion) — функция сценариев Bash, которая позволяет получить доступ к значению, хранящемуся в переменной, и использовать его в командах или выражениях. Наиболее распространенной формой расширения переменной является ссылка на нее с помощью префикса ее названия со знаком доллара ($). Например:

 

Variable expansion

На скриншоте выше видно, что мы вывели на экран с помощью команды echo строку, в которую вписали значение переменной name.

Читайте также: Команда eval в Linux с примерами.

Особым случаем расширения переменных является подстановка команд. Подстановка команд — механизм, который позволяет запускать утилиту и вставлять ее вывод обратно в командную строку в качестве аргументов другой команды. В Bash подстановка команд обычно выполняется путем заключения выражения в $().

К примеру, создадим переменную files_count, в которую запишем $(ls | wc -l):

 

Command Substitution

Здесь $(ls | wc -l) — подстановка команды ls | wc -l, которая используется для подсчета файлов в текущем рабочем каталоге. Благодаря подстановке, мы записываем в переменную files_count не саму команду, а результат ее работы. Затем значение этой переменной мы подставляем в строку There are $files_count files in the current directory. В результате, при выполнении скрипта будет выведено сообщение о количестве файлов в текущей директории.

Выводы

Детально изучив наши примеры, Вы сможете использовать переменные в скриптах Bash для выполнения арифметических вычислений, подстановок команд и автоматизации различных задач в Linux. Надеемся, что эта статья была полезной для Вас!

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасности от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Bash, Linux

Метки:

Bash, linux

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики