Если вы пишете скрипт Bash и имеете некоторую информацию, которая может измениться во время выполнения, или которая обычно изменяется при последующих выполнениях, то ее следует установить как переменную.
Установка переменной в скрипте Bash позволяет вам вспомнить эту информацию позже в скрипте или изменить ее по мере необходимости.
В случае целых чисел вы можете увеличивать или уменьшать переменные, что полезно для циклов подсчета и других сценариев.
Основы скриптов Bash, часть первая
В этом руководстве вы узнаете, как задавать переменные и использовать их в скриптах Bash в системе Linux.
Посмотрите несколько примеров, показанных ниже, чтобы увидеть, как работают переменные.
Как установить переменную в скриптах Bash
Сначала давайте рассмотрим, как установить переменную.
Это познакомит вас с синтаксисом, чтобы вы могли легко интерпретировать последующие примеры и в конечном итоге написать свой собственный с нуля.
#!/bin/bash
var="Hello World"
echo $var
Выполнение скрипта дает нам следующий результат:
$ ./test.sh Hello World
Это, вероятно, самый простой пример переменной, но он доносит суть. Давайте разберемся, что здесь происходит:
- Имя переменной в этом примере – просто var.
- Переменная объявляется с помощью знака равенства =.
- Переменная устанавливается в значение “Hello World”. Кавычки в данном случае необходимы из-за пробела.
- Чтобы вызвать переменную в скрипте потом, мы предваряем ее знаком доллара $.
Далее посмотрите примеры ниже, чтобы увидеть больше практических примеров установки переменной в скриптах Bash.
Bash Script: Примеры установки переменных
Ознакомьтесь с приведенными ниже примерами, чтобы узнать, как установить переменные в скриптах Bash.
Когда вы задаете переменную для выполнения команды, команда будет выполнена, а вывод будет сохранен в переменной.
Вот пример, в котором текущая дата хранится в переменной, а затем выводится на терминал.
Обратите внимание, что для того, чтобы это сработало, мы должны использовать вложенную оболочку Bash с синтаксисом $( ), иначе команда не будет выполнена.
#!/bin/bash
date=$(date)
echo $date
Вот результат выполнения скрипта:
$ ./test.sh Sat 26 Feb 2022 08:51:19 PM EST
Одна и та же переменная может быть объявлена несколько раз в скрипте.
Посмотрите пример ниже, где переменная $date имеет два разных значения в разных местах скрипта.
#!/bin/bash
date=$(date +"%A")
echo "The day of the week is $date"
date=$(date +"%B")
echo "The current month is $date"
Вот результат выполнения:
$ ./test.sh The day of the week is Saturday The current month is February
Урок, который можно извлечь из этого примера, заключается в том, что вы можете повторно использовать переменную внутри скрипта.
Давайте рассмотрим, как запросить у пользователя ответ и поместить эти данные в переменную.
#!/bin/bash
echo "Enter a directory."
read directory
number=$(ls -l $directory | wc -l)
echo "There are $number files in $directory"
Вот результат выполнения скрипта:
$ ./test.sh Enter a directory. /etc There are 225 files in /etc
Урок, который можно извлечь из этого примера, заключается в том, что переменные очень полезны при считывании данных от пользователя, независимо от того, задают ли они эти данные в виде флагов или как ответ на подсказку.
Здесь есть и другой урок.
Обратите внимание, что при объявлении переменной $number мы также используем переменную $directory.
Другими словами, переменная внутри переменной.
Заключение
В этой статье вы узнали, как задавать переменные и использовать их в скриптах Bash в системе Linux.
Как вы можете увидеть из примеров, использование переменных невероятно полезно и станет обычным элементом большинства скриптов Bash.
Примеры, приведенные здесь, являются базовыми, чтобы познакомить вас с концепцией, но это нормально для скриптов Bash содержать много переменных.
см. также
- 🐧 Как читать файл построчно | скрипт Bash [3 метода]
- 📜 Скрипт Bash для отправки электронной почты со списком учетных записей, истекающим через «X» дней
- 🐧 Bash Select (создание меню в скриптах shell)
- 🐧 Как обнаружить внутри Bash скрипта путь, по которому он находится
- 📜 Как использовать операторы Break и Continue в скриптах bash
- 📜 Как использовать шаблоны внутри bash скриптов
- 📜 Добавление цветов в скрипты Bash
- 🐧 Как отлажидить / проверить скрипты Bash