Logo

How do I delete an exported environment variable in Linux?

To delete an exported environment variable in Linux, you can use the built-in unset command. This removes the variable from the current shell’s environment, so it won’t be recognized afterward. For example, if your variable is named MY_VAR:

unset MY_VAR

Once unset, any child processes spawned from the current shell session will also not have this variable. If you need to remove an environment variable permanently, ensure you delete or comment out its export line in your shell’s configuration files (e.g., ~/.bashrc, ~/.zshrc, or ~/.bash_profile) and then reload your shell or start a new session.


Why unset Works

  • Ephemeral Environment: When you export a variable, it is only set for the current session and its child processes.
  • Built-In Command: unset is a shell built-in, meaning it directly modifies the shell’s environment.
  • No Need for export -n: Some older or less common shells might mention variations like export -n, but in Bash and similar shells, unset is the standard approach.

Example Workflow

  1. Check if a variable is set:

    echo $MY_VAR

    If you see something like MyValue, then it’s still active.

  2. Unset the variable:

    unset MY_VAR
  3. Verify removal:

    echo $MY_VAR

    You should see a blank line (or no output), indicating the variable is no longer defined.

  4. Remove from config (if permanent removal is desired):

    • Open your ~/.bashrc or ~/.zshrc (or the file where you originally exported the variable).
    • Delete or comment out the line containing export MY_VAR=....
    • Reload your shell:
      source ~/.bashrc
      or start a new terminal session.

Further Learning

To improve your overall command-line and problem-solving abilities, check out the following courses from DesignGurus.io:

  1. Grokking Data Structures & Algorithms for Coding Interviews
    Master essential data structures and algorithms that will make your scripting and development tasks more efficient.

  2. Grokking the Coding Interview: Patterns for Coding Questions
    Learn the core patterns repeatedly tested in technical interviews, giving you a strong foundation for problem-solving in any language.

By understanding environment variables and mastering coding fundamentals, you’ll be well-prepared to tackle both everyday administration tasks and complex software challenges.

CONTRIBUTOR
TechGrind