Bash

自動生成 ZSH/Bash 補全文件

  • January 16, 2018

是否存在可以自動為 bash 和 zsh 生成完成文件的工具?

我希望能夠為我的完成指定一個事實來源,而不是為 bash 和 zsh 維護一個單獨的完成文件。

要完成短選項和長選項和文件名,請確保程序生成與--helpGNU 工具格式相同的使用說明。然後將其設置為完成:

  • complete -F _longopt myprogram在 bash
  • compdef _gnu_generic myprogram在 zsh

如果你想要更強大的東西,定義 bash 補全並使用 zsh 的 bash 兼容模式。使用者必須呼叫bashcompinit他們的.zshrc,然後他們可以呼叫complete -F _myprogram_bash_complete myprogramzsh 和 bash。Zsh 只模擬 bash 的一個子集,因此請測試您的完成功能以確保它不需要 zsh 不模擬的功能。

引用自:https://unix.stackexchange.com/questions/417054