系统:
我正在运行安装了 ZFS 和 ZSH 的 Ubuntu 16.10。
预期行为:
作为 root 用户,我可以按 tab 键自动完成 zfs 命令和路径。它在zsh
和中都有效bash
。作为非 root 用户,我可以在 bash 中执行此操作。它的工作原理如下:
# zfs snapshot po
Tab→# zfs snapshot pool
zsh 中的实际行为:
虽然它在 bash 中总是运行良好,但非 root 用户(属于 sudo 组)无法在 中使用 tab 键完成zsh
。我收到如下权限错误:
$ sudo zfs snapshot po
Tab→
$ 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
正确实现自动完成功能?