为什么sudo env没有显示所有环境变量?

时间:2015-05-18 12:11:28

标签: bash sudo environment env sudoers

我在/etc/profile.d/somescript.sh的脚本文件中设置了一个变量 我修改了/ etc / sudoers并添加了#34; ansible"用户对sudoers文件如下:

Defaults !env_reset
ansible    ALL=(ALL) NOPASSWD:   ALL

为什么第一行没有输出任何东西?为什么" sudo env"没有显示所有环境变量(仅部分)?

[ansible@ACEPP-LM-01 ~]$ sudo env | grep ENV
[ansible@ACEPP-LM-01 ~]$ sudo echo $ENV
PP
[ansible@ACEPP-LM-01 ~]$ echo $ENV
PP
[ansible@ACEPP-LM-01 ~]$ env | grep ENV
ENV=PP

1 个答案:

答案 0 :(得分:0)

/etc/profile.d处的文件仅在登录shell中提供。使用sudo参数运行-i

sudo -i env | grep ENV

您可以阅读有关不同bash调用方式的更多here