2024-07-28
Before diving into export
, let’s clarify what environment variables are. They’re essentially name-value pairs that store information about the shell’s environment. This information can include paths to executables, user preferences, and other system settings. Crucially, unlike shell variables, environment variables are inherited by child processes, making them essential for configuring application behavior.
export
CommandThe basic syntax of the export
command is straightforward:
export VARIABLE_NAME=value
Here, VARIABLE_NAME
is the name you assign to the variable, and value
is the data you assign to it. Let’s look at some examples:
Example 1: Setting a simple variable
We’ll create an environment variable called MY_VARIABLE
and assign it the value “Hello, World!”:
export MY_VARIABLE="Hello, World!"
To verify the variable’s value, use the echo
command:
echo $MY_VARIABLE
This will print “Hello, World!” to the console.
Example 2: Setting a path variable
Environment variables are frequently used to modify the system’s search path. This example adds a new directory to the PATH
variable:
export PATH="$PATH:/path/to/your/directory"
Replace /path/to/your/directory
with the actual path. This ensures that executables located in this directory are found when you run commands. Note the use of "$PATH"
– this ensures the existing path is preserved and the new directory is appended.
Example 3: Exporting variables with spaces
If your variable value contains spaces, you need to enclose it in double quotes:
export MY_TEXT="This is a string with spaces"
echo "$MY_TEXT"
Example 4: Exporting multiple variables
You can export multiple variables in a single command by separating them with semicolons:
export MY_VARIABLE="Value 1"; export ANOTHER_VARIABLE="Value 2"
echo "$MY_VARIABLE"; echo "$ANOTHER_VARIABLE"
Example 5: Temporary vs. Persistent Exports
The above examples create environment variables that only exist for the current shell session. To make them persistent across sessions, you need to add the export
command to your shell’s configuration file (e.g., .bashrc
, .bash_profile
, .zshrc
). For example, to add MY_VARIABLE
permanently, add the line export MY_VARIABLE="Hello, World!"
to your .bashrc
file and then source the file:
source ~/.bashrc
Example 6: Unsetting an environment variable
To remove an exported variable, use the unset
command:
unset MY_VARIABLE
export
isn’t limited to simple strings. You can export variables containing more complex information:
Example 7: Exporting an array:
export MY_ARRAY=("value1" "value2" "value3")
echo "${MY_ARRAY[0]}" # Accessing the first element
Example 8: Exporting JSON:
While not directly supported, you can export JSON data as a string:
export MY_JSON='{"name": "John Doe", "age": 30}'
You would then need to use a JSON parsing tool within your scripts to work with this data.
export
for ScriptingThe true power of export
is revealed when scripting. By exporting variables, you can easily configure the behavior of scripts without modifying their core logic. This is particularly useful for passing settings between different parts of a larger program or for making scripts more configurable.
Remember to always quote variable values, especially those containing spaces or special characters, to prevent unexpected behavior. If an exported variable doesn’t seem to be working, double-check your spelling, ensure the variable is properly exported, and verify the scope of the variable within your scripts. Using the printenv
command can help list all current environment variables.