export - macOS
Overview
The export
command in macOS is used to set or export environment variables and functions to the environment of subsequently executed commands. This makes the defined variables and functions available to any child processes spawned by the shell. It is especially useful in scripting and programming where certain environment settings need to be made global for the script or session duration.
Syntax
The basic syntax of the export
command is as follows:
export [-fn] [name[=value] ...]
- name: The name of the variable you want to set or export.
- value: The value assigned to the variable.
If no name is provided, export
outputs a list of all exported environment variables.
Options/Flags
- -f: Specifies function name instead of variable names.
- -n: Remove the export property from subsequent variables. This means, the specified names are no longer exported.
Examples
-
Exporting a Variable:
Set an environment variablePATH
and add a new directory to the execution path.export PATH="$PATH:/usr/local/bin"
This command modifies the
PATH
environment variable by appending a new path to the existingPATH
. -
Unsetting Export:
To stop exporting a variable, use the-n
option.export -n PATH
After this command,
PATH
is no longer exported to child processes. -
Listing Exported Variables:
Simply executingexport
without arguments prints a list of all exported variables.export
Common Issues
-
Variables Not Persisting: Exported variables only exist for the duration of the session. They will not persist through restarts unless added to startup files like
.bashrc
or.zshrc
. -
Syntax Errors: Ensure there’s no space around the equals sign when assigning values.
Integration
Combining with Other Commands:
Use export
with tools like grep
to filter specific exported variables:
export | grep 'PATH'
This command chain helps in quickly identifying the details of exported PATH
variable.
In Scripts:
#!/bin/bash
export NODE_ENV=production
node app.js
Here export
ensures that the Node.js application runs in the production environment mode.
Related Commands
- env: Prints out the current environment.
- unset: Unset a variable, making it no longer available in the environment.
- set: View or set shell operational parameters.
For further reading and a deeper dive into shell scripting and environment management, check the official documentation on bash shell and explore resources like Advanced Bash-Scripting Guide.