Sobes.tech
Back to questions
Senior
6

В чём разница между переменными VAR=value и export VAR=value в Bash?

Companies where asked
WildberriesWildberries

Answer from AI

sobes.tech AI

Переменная, объявленная как VAR=value в Bash, существует только в текущей оболочке (shell) и доступна только в ней. Она не передаётся дочерним процессам.

Если же объявить переменную с помощью export VAR=value, то она становится экспортируемой — то есть доступной не только в текущем shell, но и во всех дочерних процессах, которые будут запущены из этого shell.

Пример:

VAR=123
bash -c 'echo $VAR'  # Выведет пустую строку, переменная не доступна в дочернем shell

export VAR=123
bash -c 'echo $VAR'  # Выведет 123, переменная экспортирована и доступна в дочернем shell

Таким образом, export используется для передачи переменных окружения в дочерние процессы.