在 Ubuntu WSL 中,如何存储永久环境变量?

In Ubuntu WSL, how can you store permanent environment variables?

我试过了,但每次我重新启动系统时,我的变量都消失了。

如何在 Ubuntu WSL2 上以永久方式存储我的环境变量?

所以这是对我有用的方法:

如果在 Ubuntu WSL2 上使用 Bash,

~/.bash_profile 是永久环境变量的正确文件,但是请确保在变量之前添加 export 关键字,例如所以:

export THISVAR=thisIsAVar
export ANOTHERVAR=anotherVar

有几种方法可以解决这个问题。

  1. 首先,通常的方法(如您所见)是在 shell 启动脚本中设置环境变量。对于 bash,这将是 ~/.bash_profile,对于 zsh 它将是 ~/.zprofile,对于 fish 它将是 ~/.config/fish/config.fish.

  2. 但我也建议您考虑试用 fish shell,因为它具有设置“通用变量”的强大功能,该变量会自动传播到所有其他shell 的实例,包括现在和将来。

    例如set -Ux myvariable 42 将创建一个通用(和导出的)变量,即使在您关闭并重新打开 shell 后该变量也将持续存在,而无需创建配置文件。

    Fish 还有许多其他很棒的功能,使其成为我的首选 shell(在使用 zsh 15 年后)。

就是说,我不确定您使用 WSL 的目标是什么,但如果是“学习 Linux”,那么您最好从 bash 或 zsh 开始,因为它们更“传统”shell,当然,bash 是事实上的标准。

.bashrc 文件添加别名

sudo nano ~/.bashrc

在文件末尾添加这一行(在我的例子中我想 运行 laravel)

alias laravel='~/.config/composer/vendor/laravel/installer/bin/laravel'

然后重启wsl shell

exit