我正在运行avdmanager create avd
我最初使用的 python 脚本,以sudo -E
使我的脚本能够执行特权操作。但出于某种原因,avdmanager 在 内部创建了 AVD /root/.android/avd
,但在 内部没有创建/home/user/.android/avd
。它如何知道它是使用 sudo 运行的?我真的很困惑。
我发现问题不是由 python 本身引起的。因为当我在终端中运行时,sudo -E avdmanager create avd
问题仍然存在。请帮我想出解决方案。
编辑:
正如 Kamil Maciorowski 所建议的,我检查了输出,sudo -E env | grep -E '^HOME=|^USER='
如下所示:
HOME=/home/username
USER=root
然后我尝试重新运行我的命令如下:sudo --preserve-env=USER,HOME avdmanager create avd
,因为有了这个前缀,sudo --preserve-env=USER,HOME env | grep -E '^HOME=|^USER='
我期望:
USER=username
HOME=/home/username
但效果不太好。
编辑2:
保留LOGNAME
也不能解决问题。并且输出中没有留下printenv
任何包含对我的用户的任何引用的变量。