# Переменные окружения: export и $

Курс: Claude Code и терминал: с 0 — https://zero2claude.ru/learn/code-terminal
Канонический URL: https://zero2claude.ru/learn/code-terminal/4-9-peremennye-export

Переменные окружения хранят настройки для программ. export задаёт переменную, а $ИМЯ подставляет её значение.

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

## export — задать переменную

Чтобы создать переменную, используй `export` и запись `ИМЯ=значение` (без пробелов вокруг `=`):

```
export NAME=Claude
```

Теперь в окружении есть переменная `NAME` со значением `Claude`. Сама команда ничего не выводит — она просто запоминает значение.

## $ИМЯ — подставить значение

Чтобы получить значение обратно, поставь перед именем знак `$`:

```
echo $NAME
```

Терминал заменит `$NAME` на `Claude` ещё до запуска команды — и `echo` выведет `Claude`. Это называют **раскрытием переменной**: `$ИМЯ` превращается в значение.

Посмотреть все переменные окружения сразу можно командой `env`.

## Зачем это нужно

Переменные окружения — стандартный способ настраивать программы «снаружи», не трогая их код. Один и тот же инструмент на твоём компьютере и на сервере ведёт себя по-разному просто потому, что переменные заданы по-разному.

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

## Попробуй

Задай переменную `NAME` со значением `Claude`, а затем выведи её значение:

```
export NAME=Claude
echo $NAME
```

Когда `echo` выведет `Claude`, урок зачтётся.
