sudo执行脚本不重置环境变量

问题

$ export hello=world
$ env|grep world
hello=world
$ sudo env|grep world
$

原因

这是因为sudo会重置 当前环境变量。

解决1:

/etc/sudoers 可以配置执行sudo时,哪些环境变量进行保留,当然也全部保留

Defaults    env_reset, timestamp_timeout=1440 #重置环境变量
Defaults    !env_reset, timestamp_timeout=1440 #保留全部环境变量

解决2:

sudo -E env|grep hello
-E, --preserve-env            preserve user environment when running command
posted @   Hello_wshuo  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示