Ahm*_*gle 3 zsh zsh-completion
我有一个名为的 ZSH 完成脚本
#compdef kubens
_arguments "1: :(- $(kubectl get namespaces -o=jsonpath='{range .items[*].metadata.name}{@}{"\n"}{end}'))"
Run Code Online (Sandbox Code Playgroud)
这提供了kubens命令的完成。但是,如果用户提供特定的安装参数,则该程序将与kns名称链接,因此我尝试使用相同的#compdef.
我该如何实现这一目标?
我们可以使用cmd=service该#compdef行的形式:
#compdef kubens kns=kubens\nRun Code Online (Sandbox Code Playgroud)\n\n尽管我们可以为该行使用多个名称#compdef,但当其行为方式与以下相同时,cmd=service可以使用表单:cmdservice
\n\n\n\n
#compdef name ... [ -{p|P} pattern ... [ -N name ... ] ]该文件将成为可自动加载的,并且在完成名称时将调用其中定义的函数,其中每个名称都是要完成其参数的命令的名称...
\n\n
\n ...
\n 每个名称也可以是格式为 \xe2\x80\x98cmd=service\xe2\x80\x99。当完成命令cmd时,该函数的行为通常就像命令(或特殊上下文)服务正在完成一样。--
\nzshcompsys(1): Completion System, INITIALIZATION, Autoloaded files, #compdef
| 归档时间: |
|
| 查看次数: |
2126 次 |
| 最近记录: |