Linux commands: export
A quick guide to the `export` command, used to export variables to child processes
export command is used to export variables to child processes.
What does this mean?
Suppose you have a variable TEST defined in this way:
You can print its value using
But if you try defining a Bash script in a file
script.sh with the above command:
Then you set
chmod u+x script.sh and you execute this script with
echo $TEST line will print nothing!
This is because in Bash the
TEST variable was defined local to the shell. When executing a shell script or another command, a subshell is launched to execute it, which does not contain the current shell local variables.
To make the variable available there we need to define
TEST not in this way:
but in this way:
Try that, and running
./script.sh now should print “test”:
Sometimes you need to append something to a variable. It’s often done with the
PATH variable. You use this syntax:
It’s common to use
export when you create new variables in this way, but also when you create variables in the
.bashrc configuration files with Bash, or in
.zshenv with Zsh.
To remove a variable, use the
export -n TEST
export without any option will list all the exported variables.
export command works on Linux, macOS, WSL, and anywhere you have a UNIX environment
THE VALLEY OF CODE
THE WEB DEVELOPER's MANUAL
You might be interested in those things I do:
- Learn to code in THE VALLEY OF CODE, your your web development manual
- Find a ton of Web Development projects to learn modern tech stacks in practice in THE VALLEY OF CODE PRO
- I wrote 16 books for beginner software developers, DOWNLOAD THEM NOW
- Every year I organize a hands-on cohort course coding BOOTCAMP to teach you how to build a complex, modern Web Application in practice (next edition February-March-April-May 2024)
- Learn how to start a solopreneur business on the Internet with SOLO LAB (next edition in 2024)
- Find me on X