我想跑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