为另一个用户设置环境变量(独立 Trac 问题)

为另一个用户设置环境变量(独立 Trac 问题)

我想跑tracd追踪在独立模式下)使用自定义模板列出多个存储库列表:

$ tracd -p 8080 -e /my/projects/path

对于自定义模板,我需要一个环境变量(正如这里所说的):

$ export TRAC_ENV_INDEX_TEMPLATE=/path/to/template

我的问题是,我需要tracd以另一个用户身份运行。现在我有:

$ sudo -u devel tracd -d -p 8080 -e /my/projects/path 

运行时就像devel没有环境变量一样,它会在默认模板上显示项目列表。我尝试了显而易见的方法:

$ sudo -u devel export TRAC_ENV_INDEX_TEMPLATE=/path/to/template
sudo: export: command not found

我的方法是否完全错误,或者我可以通过设置其他用户的环境变量来解决这个问题?

答案1

如果你可以以用户身份运行任意命令devel,一个常见的做法是

sudo -u devel env TRAC_ENV_INDEX_TEMPLATE=/path/to/template tracd -d -p 8080 -e /my/projects/path

如果您具有 root 权限,则可以使用指令sudo保留环境变量env_keep,例如

Defaults>devel: env_keep=TRAC_ENV_INDEX_TEMPLATE

相关内容