我有两个用户 userA 和 userB。
我想打印 userB 的 env 详细信息。我正在从用户 A 运行以下命令。
userA$ sudo su userB -c 'printenv'
但它会打印用户 A 的环境详细信息。如何解决?
如果我切换到 userB 并执行 printenv
然后它会按预期打印 userB 的环境详细信息。 PYTHONPATH
和其他变量也发生了同样的事情。
请注意,我需要像在单个命令中那样运行命令。我不能先切换到 userB 然后运行 printenv
。
最佳答案
你应该使用这个:
userA$ sudo su - userB -c 'printenv'
su 连字符 (-) 将环境变量更改为新用户的环境变量,由他们的 ~/.bashrc 指定。
关于linux - 为什么 userA$ sudo su userB -c 'printenv' 不打印 userB 的环境详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40153395/