Menu
CoddyTech

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

Часть раздела Основы путешествия по 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. Одинарные кавычки не дают оболочке подставить значение $name во время записи файла, поэтому переменная сохраняется в скрипте и раскрывается при его запуске. Двойные кавычки подставили бы значение сразу.

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

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

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

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

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

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