问:

问:

系统:

我正在运行安装了 ZFS 和 ZSH 的 Ubuntu 16.10。

预期行为:

作为 root 用户,我可以按 tab 键自动完成 zfs 命令和路径。它在zsh和中都有效bash。作为非 root 用户,我可以在 bash 中执行此操作。它的工作原理如下:

# zfs snapshot poTab# zfs snapshot pool

zsh 中的实际行为:

虽然它在 bash 中总是运行良好,但非 root 用户(属于 sudo 组)无法在 中使用 tab 键完成zsh。我收到如下权限错误:

$ sudo zfs snapshot poTab

$ sudo zfs snapshot poPermission denied the ZFS utilities must be run as root.
Permission denied the ZFS utilities must be run as root.
zfs               zfs snapshot po

我认为它有问题,因为用户自己没有足够的权限来读取特定内容。通过sudo,用户确实有权限这样做,但我猜 不会zsh compinit通过 运行sudo

但显然有某种方法可以让它工作,因为 Bash 可以很好地管理它。

问:

我怎样才能zsh正确实现自动完成功能?

相关内容