how to set environment variables in fish shell
Use Universal Variables
If the variable has to be shared between all the current user Fish instances on the current computer and preserved across restarts of the shell you can set them using -U
or --universal
. For example:
set -Ux FOO bar
Using set
with -g
or --global
doesn't set the variable persistently between shell instances.
Note:
Do not append to universal variables in config.fish
file, because these variables will then get longer with each new shell instance. Instead, simply run set -Ux
once at the command line.
Universal variables will be stored in the file ~/.config/fish/fish_variables
as of Fish 3.0. In prior releases, it was ~/.config/fish/fishd.MACHINE_ID
, where MACHINE_ID was typically the MAC address.