须藤:不正确:找不到命令

Edw*_*lds 7 zsh alias autocomplete oh-my-zsh

我在 Arch Linux 上使用 zsh 和 oh-my-zsh。我无法使用mkdir

edward@ArchLinux  ~ $ sudo mkdir -p /samba/raspberry
  [sudo] password for edward: 
  sudo: nocorrect: command not found
Run Code Online (Sandbox Code Playgroud)

我知道它必须使用 zsh 的自动完成功能和定义的别名,但无法弄清楚。

Edw*_*lds 12

alias sudo='sudo '在文件source末尾定义了这个别名,该文件~/.zshrc覆盖了alias sudo='nocorrect sudo'.oh-my-zsh/lib/correction.zsh

alias sudo='nocorrect sudo'zsh 的自动完成功能需要它才能工作
更多:如何在 zsh 中禁用 sudo [command] 的自动更正?

但同时我需要alias sudo='sudo '以下命令的别名sudo来工作
更多:使用 sudo 时从 .bashrc 文件加载别名
请注意也alias sudo='sudo '适用于 zsh

所以我可以在使用时使用 zsh 的自动完成功能或别名(其他命令的),sudo所以我现在禁用了 zsh 的自动完成功能。

希望我清楚而不是混淆。

  • 你不需要,只需使用 `sudo \mkdir ...` 来禁用 `mkdir` 的别名扩展。 (4认同)