我有这样的功能:
p() { cd ~/Clients/$1/Projects/$2; }
Run Code Online (Sandbox Code Playgroud)
然后我可以输入:
p "Client here" "Project here"
Run Code Online (Sandbox Code Playgroud)
它需要我:
~/Clients/Client here/Projects/Project here
Run Code Online (Sandbox Code Playgroud)
这里没什么特别的.但是如何为此功能实现自动完成?我设法为第一个参数(客户端)获得自动完成工作:
_p() { _files -W ~/Clients -/; }
compdef _p p
Run Code Online (Sandbox Code Playgroud)
但是如何自动完成第二个参数(项目)呢?它需要从基于客户端的文件夹中自动完成:
~/Clients/$1/Projects
Run Code Online (Sandbox Code Playgroud)
希望有人可以帮忙!:-)