为什么使用 sudo 的脚本中 $HOME 的值在 Ubuntu 18.04 和 20.04 之间会有所不同

为什么使用 sudo 的脚本中 $HOME 的值在 Ubuntu 18.04 和 20.04 之间会有所不同

在 Windows 10 v1909 上,我使用 WSL(Ubuntu 18.04 和 20.04:4.4.0-18362-Microsoft x86_64 GNU/Linux)$HOME我注意到,当使用 执行时,任意脚本中的 的值在 Ubuntu 18.04 和 20.04 之间会有所不同sudo

  • Ubuntu 18.04: test.sh
    echo $HOME
      Home: /home/khan
    
    屏幕截图 Ubuntu 18.04

  • Ubuntu 20.04: test.sh
    echo $HOME
      Home: /root
    
    Ubuntu 20.04 屏幕截图

答案1

引用另一个SO网站的答案:

多年来,Ubuntu 一直发布 sudo 的修补版本,默认情况下会保留 $HOME。除了 Ubuntu 及其衍生产品外,很少有其他操作系统(也许没有其他操作系统)这样做。人们已经确定这造成的问题比它解决的问题还多,从 Ubuntu 19.10 开始,$HOME 不再是 sudo 保留的少数环境变量之一。

原始答案:自 19.10 以来,sudo 如何以不同的方式处理 $HOME?

相关内容