Search code examples
fish

How do I unset a variable in the fish shell?


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.


Solution

  • 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'