Bash 功能完成?

Bash completion in function?

我目前有以下 Bash 功能:

function xcd {
        if [ "$#" -gt 1 ]; then
                echo "Usage: xcd [<path>]" >&2
                return 1
        fi

        cd "/some/commonly/used/path/"
}

我希望它支持 Bash 完成 - 当我输入 xcd foo 时,我希望它像输入 cd /some/commonly/used/path/foo 一样完成。有没有办法让 Bash 对此变得聪明 - 大概是通过观察 的使用方式 - 而不仅仅是手动编写 Bash 完成?

~/.bashrc 中的函数替换为:

CDPATH="/some/commonly/used/path"

我假设到目前为止还没有使用 CDPATH。采购您的 ~/.bashrc 然后您可以将 cd foo 与 bash 一起使用 完成。