Linux下的su - 以后的PATH环境变量的问题


以下的程序都是在一个docker容器中跑的
1.首先在root 的权限在运行:
$su - scidb -c "echo $PATH"

360截图-58456975.jpg


2.接下来我用了测试脚本:

360截图-58634582.jpg


运行脚本:

360截图-58701366.jpg


这两处的环境变量都不一样。

3.接下来我切换到scidb的用户权限下来查看scidb的PATH的值

360截图-58820005.jpg


我有个命令必须要在有后面的那个环境中才能运行成功, 不然会报没找到命令。。。

只要让环境变量和切换到scidb的用户下一样,命令就可以运行成功了。

有哪位前辈知道解决方法的,希望告知答案
已邀请:

tuxknight

赞同来自:


你的docker image是自己build出来吗?
看你描述的情况,最后带/opt/scidb/14.12/share/scidb的PATH是root用户的环境变量,所以你切换到scidb用户就没有这个环境变量了。

要回复问题请先登录注册