如何在启动时设置环境变量(通过脚本)?

Rob*_*ert 8 server startup environment-variables

我想在 Ubuntu 机器 (10.04) 上设置几个环境变量(在启动时),但我想通过脚本创建它们的值,很像:

export THE_ENV_VAR=$(script_to_execute_and_use_stdout_from)
Run Code Online (Sandbox Code Playgroud)
  • 我想这样做的原因是用于设置环境变量的命令需要很长时间才能执行(10 秒左右),所以这就是为什么我只想在启动后执行一次。无论如何,目前我通过在启动时缓存命令的结果来解决这个问题,以便后续调用会快速进行,因此不使用 env. 变量。

我试过设置 in /etc/environment,但那只能逐字复制rhs

我试过/etc/init.d/在启动时执行脚本,但这似乎不起作用。

想法?

fre*_*kjh 11

要设置启动时可用的系统范围环境变量,请将它们放置在/etc/environment. 该文件不是脚本文件,而是由每行一个赋值表达式组成。像这样:

SYSTEM_FOO=barnone
Run Code Online (Sandbox Code Playgroud)

注意:变量扩展在 /etc/environment 中不起作用。

原始信息来自help.ubuntu.com


Pan*_*her 5

将其放入~/.bash_profile~/.bashrc

gedit ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

如果您需要在非交互式 shell(脚本)中使用这些变量,请使用 .bash_profile;如果您要在 shell 中设置变量,请使用 ~/.bashrc。

如果这不起作用,我们需要更多详细信息,特别是您设置了哪些变量以及目的是什么?

  • 这不是在启动时... (18认同)

aqu*_*erd -1

将您的命令放入/etc/rc.local. 请务必阅读头部的评论。