Today we will explore the difference between
NAME=value
and
export NAME=value
Both snippets define variables but...
Without export, the shell variable scope is restricted to the shell, remaining available to any other process.
Use NAME=value for temporary or loop variables private to the current shell process.
export makes the shell variable available to child processes via the environment, turning it into an environment variable.
Use export NAME=value for settings and variables that have meaning to a sub-process.
When you want to make the value of a variable accessible in subshells, the shell's export command should be used.
# Create a shell variable
AGE=30
# Turn the shell variable into an environment variable
export AGE
