How do I unset a variable in the fish shell?

J0hnG4lt picture J0hnG4lt · Jun 8, 2015 · Viewed 26.3k times · Source

In bash I can unset a variable with

unset myvar

In fish I get

fish: Unknown command 'unset'

What's the equivalent for unset in fish.

Answer

J0hnG4lt picture J0hnG4lt · Jun 8, 2015

Fish uses options on the set command to manipulate shell variables.

Unset a variable with the -e or --erase option.

set -e myvar 

Additionally you can define a function

function unset
  set --erase $argv
end

funcsave unset

or an abbreviation

abbr --add unset 'set --erase'

or an alias in ~/.config/fish/config.fish

alias unset 'set --erase'