Menu
Coddy logo textTech

Экспорт переменной

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

Когда вы устанавливаете переменную, такую как MY_NAME="Alice", она существует только в вашей текущей оболочке. Если вы запустите скрипт или другую программу, эта переменная не будет ей доступна. Здесь и пригодится export.

Команда export делает переменную доступной для любых дочерних процессов, то есть программы или скрипты, запущенные из вашего текущего оболочки (shell), смогут получить к ней доступ:

export MY_NAME="Alice"

Вы также можете экспортировать существующую переменную:

MY_NAME="Alice"
export MY_NAME

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

Чтобы увидеть разницу, попробуйте запустить скрипт, который пытается использовать $MY_NAME.

Без export скрипт ничего не видит. С export скрипт может получить доступ к значению.

Вот почему системные переменные, такие как PATH и HOME, экспортируются по умолчанию. Они должны быть доступны каждой запускаемой вами программе.

Вы можете проверить, экспортирована ли переменная, убедившись, что она отображается в выводе команды env:

env | grep MY_NAME

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

challenge icon

Задание

Легко

Экспортируйте переменную с именем PROJECT со значением terminal-course, затем убедитесь, что она была экспортирована, отфильтровав вывод env, чтобы показать только вашу новую переменную.

Вы можете сделать это в одну строку, используя export для одновременного задания и экспорта переменной, а затем передав вывод env через конвейер в grep, чтобы найти её.

Ваш вывод должен быть следующим:

PROJECT=terminal-course

Подсказка: Сначала выполните export PROJECT="terminal-course", затем используйте env | grep PROJECT, чтобы убедиться, что она появляется в окружении.

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

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

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

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