Home > Environment & Utility > unset

unset: Remove Variables and Functions

The unset command is used to remove variables or functions defined in the shell environment. It allows you to free up memory for environment variables or user-defined functions that are no longer needed.

Overview

unset removes a specific variable or function from the current shell session, ensuring that the name is no longer defined. This is useful for memory management and environment cleanup, especially when clearing temporary variables within scripts.

Key Features

  • Removes environment variables
  • Removes shell functions
  • Cannot remove variables set as read-only

Key Options

The unset command primarily takes variable or function names as arguments and can control its behavior through a few options.

Specify Removal Target

Generated command:

Try combining the commands.

Description:

`unset` Executes the command.

Combine the above options to virtually execute commands with AI.

Usage Examples

Various scenarios for removing variables and functions using the unset command.

Removing a Variable

MY_VAR="Hello World"
echo $MY_VAR
unset MY_VAR
echo $MY_VAR

Define and then remove a variable named MY_VAR.

Removing a Function

my_function() { echo "This is my function."; }
my_function
unset -f my_function
my_function

Define and then remove a function named my_function.

Removing Multiple Variables Simultaneously

VAR1="Value1"
VAR2="Value2"
echo "$VAR1 $VAR2"
unset VAR1 VAR2
echo "$VAR1 $VAR2"

Remove two variables, VAR1 and VAR2, at once.

Attempting to Remove a Read-Only Variable (Error)

readonly READONLY_VAR="Cannot remove"
unset READONLY_VAR

Variables set as readonly cannot be removed with unset. An error message will be displayed upon attempting.

Tips & Considerations

It is advisable to consider the following points when using unset.

Read-Only Variables

  • Description: Variables set with the `readonly` command cannot be removed using `unset`. Attempting to do so will result in an error.

Impact on Environment Variables

  • Description: Environment variables removed with `unset` affect the current shell session and its child processes. They do not affect parent processes.

Caution with PATH Variable

  • Description: Unsetting critical system variables like `PATH` can lead to severe issues with shell usage, as the system may fail to locate commands. Avoid unsetting the `PATH` variable unless absolutely necessary.

Same category commands