在 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
有几种方法可以解决这个问题。
首先,通常的方法(如您所见)是在 shell 启动脚本中设置环境变量。对于 bash,这将是 ~/.bash_profile
,对于 zsh 它将是 ~/.zprofile
,对于 fish 它将是 ~/.config/fish/config.fish
.
但我也建议您考虑试用 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
我试过了,但每次我重新启动系统时,我的变量都消失了。
如何在 Ubuntu WSL2 上以永久方式存储我的环境变量?
所以这是对我有用的方法:
如果在 Ubuntu WSL2 上使用 Bash,~/.bash_profile
是永久环境变量的正确文件,但是请确保在变量之前添加 export
关键字,例如所以:
export THISVAR=thisIsAVar
export ANOTHERVAR=anotherVar
有几种方法可以解决这个问题。
首先,通常的方法(如您所见)是在 shell 启动脚本中设置环境变量。对于 bash,这将是
~/.bash_profile
,对于 zsh 它将是~/.zprofile
,对于 fish 它将是~/.config/fish/config.fish
.但我也建议您考虑试用 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