Bash 完成 cd 别名

Bash 完成 cd 别名

我使用以下函数在更改当前工作目录后列出目录内容:

function c() {
  cd $@;
  ls;
}

我如何为‘c’函数启用 bash 目录名称完成功能,以便它也适用于 $CDPATH 中的目录?

答案1

您可以将命令的完成函数设置cd为函数c。首先确定 cd 命令指定了哪个完成函数。在我的例子中:

$ complete | grep " cd$"
complete -o nospace -F _cd cd

这是函数_cd,在我的例子中,_cd 尊重$CDPATH变量。现在设置你的函数完成函数:

$ complete -o nospace -F _cd c

现在,输入时c <tab><tab>,会给出与输入时相同的建议cd <tab><tab>

为了使其永久生效,请将命令写入您的~/.bashrc

相关内容