尝试使用 python 脚本获取源时检测到不安全的依赖于完成的目录

Afi*_*erg 3 python zsh zshrc python-3.x oh-my-zsh

我写的脚本:

with open("./aa.zsh", "wr") as f:
    f.write("#!/bin/zsh\n")
    f.write("chmod -R 755 ~/.oh-my-zsh\n")
    f.write("source {}\n".format(path))

os.chmod("./aa.zsh", 0o777)
subprocess.call(['./aa.zsh'])
Run Code Online (Sandbox Code Playgroud)

我也试过os.system('./aa.zsh')而不是最后一行。

我收到此错误:

[oh-my-zsh] 检测到不安全的完成依赖目录

[oh-my-zsh] 为了安全起见,我们不会从这些目录加载完成,直到

[oh-my-zsh] 您修复了他们的权限和所有权并重新启动 zsh。

[oh-my-zsh] 有关具有组或其他可写性的目录,请参阅上面的列表。

[oh-my-zsh] 要修复您的权限,您可以通过禁用

[oh-my-zsh] "group" 和 "others" 的写权限,并确保

[oh-my-zsh] 这些目录的所有者是 root 或您当前的用户。

[oh-my-zsh] 以下命令可能会有所帮助:

[oh-my-zsh] compaudit | xargs chmod gw,ow

[oh-my-zsh] 如果以上没有帮助或者你想跳过验证

[oh-my-zsh] 不安全的目录,您可以将变量 ZSH_DISABLE_COMPFIX 设置为

[oh-my-zsh] 在 oh-my-zsh 来自您的 zshrc 文件之前的“true”。

por*_*las 11

根据错误消息和ohmyzsh 的这个线程

您可以运行以下命令 compaudit | xargs chmod g-w,o-w

如果这不起作用ZSH_DISABLE_COMPFIX=true,您的 zshrc 中的设置对我有用。