【问题标题】:Cannot create permanant environment variable in Ubuntu无法在 Ubuntu 中创建永久环境变量
【发布时间】:2015-03-23 17:38:39
【问题描述】:

我正在尝试在 Ubuntu 上创建一个永久环境变量。

我尝试了以下方法:

export SASS_LIBSASS_PATH=/usr/local/lib/libsass

当我打开一个新终端并使用'printenv'时,我发现变量消失了!

我还尝试通过附加:

SASS_LIBSASS_PATH="/usr/local/lib/libsass"

到文件末尾/etc/environment,然后使用:

source /etc/enviroment

那没用!

更新:

然后我尝试编辑我的 ~/.profile 文件:

SASS_LIBSASS_PATH="/usr/local/lib/libsass"

那没用。

然后我尝试在~/.profile 文件的末尾添加以下内容:

export SASS_LIBSASS_PATH="/usr/local/lib/libsass"

那也没用!

如何制作一个永久的系统变量?

【问题讨论】:

  • 您可能希望使用fish 作为您的外壳。寻找它的“通用范围变量”

标签: linux ubuntu environment-variables


【解决方案1】:

export 仅在您当前的 shell 会话和由该 shell 会话启动的任何子进程中设置环境变量。它当然不是“永久的”。为将来的 shell 会话设置环境变量的唯一方法是将export 命令添加到 shell 启动文件中。您最好的选择可能是将其放在 ~/.profile 中(除非文件 ~/.bash_profile 存在)。

【讨论】:

  • 抱歉,我编辑了我的帖子。原来编辑环境文件也没有用。
  • @YahyaUddin:是的,/etc/environment 并不是你真正想要的位置。
  • 我在 .profile 的末尾添加了 SASS_LIBSASS_PATH="/usr/local/lib/libsass"。仍然没有工作。我需要按下另一个命令才能使其工作吗?
  • @YahyaUddin:您需要导出命令。仅仅设置变量是不够的。并且将它放在.profile 中只会导致在您下次启动 shell 会话时设置环境变量。如果您希望它立即生效,您必须在当前会话中键入导出命令。
  • @rici:不,.profile 仅在登录时获取一次,而不是针对每个新 shell(即 .bashrc 用于 bash shell)。修改 .profile 后需要注销再重新登录。
猜你喜欢
  • 2011-08-15
  • 2021-03-23
  • 2012-08-09
  • 1970-01-01
  • 2014-04-23
  • 2021-12-19
  • 1970-01-01
  • 2015-04-08
相关资源
最近更新 更多