未在su中设置批处理用户的环境变量

2024-09-29 19:19:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试设置我的/etc/rc.本地以另一个用户身份重新启动时自动启动进程。由于某些原因,这个用户的.bash_rc似乎没有初始化。在

这是我添加到/etc的命令/rc.本地公司名称:

sudo su -l batchuser -c "/home/batchuser/app/run_prod.sh &"

这没用,所以我也试了一下:

^{pr2}$

run_prod.sh只是启动一个python脚本。python脚本失败,因为它引用了python路径中的模块,该路径在.bash_rc中初始化


编辑:当我这样做的时候,它就起作用了

^{3}$

为什么这是有效的,而不是上面的陈述?为什么.bashrc没有初始化?在


Tags: run用户命令路径脚本bash进程sh
1条回答
网友
1楼 · 发布于 2024-09-29 19:19:04

我也遇到了同样的问题。我无法完全解释这种行为,但最终我做了这种事:

sudo $PYTHONPATH=$PYTHONPATH the_command

或者更具体地说你的案子

^{pr2}$

这对你有用吗?如果有,你可能会发现它不会像你期望的那样立即返回。您可能需要将&移到引号之外,以便它适用于sudo命令。在

相关问题 更多 >

    热门问题