Menu
Coddy logo textTech

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

Часть раздела Основы путешествия по Terminal на Coddy. Урок 68 из 82.

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

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

#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"

Этот скрипт выводит Hello, World!. Переменные greeting и name хранят текст, который подставляется при выполнении скрипта.

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

#!/bin/bash
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"

Обрати внимание на кавычки вокруг "$backup_dir". Заключать переменные в двойные кавычки — хорошая практика, потому что это позволяет корректно обрабатывать пути или значения, содержащие пробелы. Без кавычек такой путь, как /my documents, нарушил бы выполнение команды.

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

challenge icon

Задание

Легко

Создай shell-скрипт с именем intro.sh, который использует переменные для вывода персонализированного сообщения.

Твой скрипт должен:

  1. Начинаться со строки shebang (#!/bin/bash)
  2. Создать переменную с именем language и значением Bash
  3. Создать переменную с именем skill и значением scripting
  4. Использовать echo для вывода обеих переменных в формате: Learning Bash scripting!

Сделай скрипт исполняемым и запусти его. Твой вывод должен быть таким:

Learning Bash scripting!

Заключай каждую записываемую строку в одинарные кавычки: echo 'echo "Hello $name"' >> script.sh. Одинарные кавычки не позволяют shell заменить $name во время записи файла, поэтому скрипт сохраняет переменную и подставляет её значение при запуске. Двойные кавычки подставили бы значение сразу.

Подсказка: Создай скрипт с помощью echo и перенаправления. Не забудь обратиться к переменным с помощью $ в инструкции echo, например echo "Learning $language $skill!"

Попробуйте сами

Терминал
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Terminal