【发布时间】:2021-03-23 07:22:20
【问题描述】:
我试过了,但每次我重新启动系统时,我的变量都消失了。
如何在 Ubuntu WSL2 上以永久方式存储我的环境变量?
【问题讨论】:
标签: ubuntu environment-variables windows-subsystem-for-linux wsl-2
我试过了,但每次我重新启动系统时,我的变量都消失了。
如何在 Ubuntu WSL2 上以永久方式存储我的环境变量?
【问题讨论】:
标签: ubuntu environment-variables windows-subsystem-for-linux wsl-2
所以这对我来说是有效的方式:
如果在 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
【讨论】: