【发布时间】:2016-08-03 07:57:49
【问题描述】:
能够在我的系统上的任何位置输入dev my-[tab] 并接收自动完成,例如
$ dev my-[tab]
my-project
my-awesome-project
我在/etc/bash_completion.d/ 中创建了一个文件,内容如下:
_dev()
{
PROJECTS=$(ls /development)
local cur=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=( $(compgen -W "${PROJECTS}" -- $cur) )
}
complete -F _dev dev
这很好用,但我也希望能够自动完成子文件夹:
[~] $ dev my-p[tab]
[~] $ dev my-project/[tab][tab]
src doc
[~] $ dev my-project/s[tab][enter]
[/development/my-project/src] $
所以基本上,我希望 dev 自动完成,就像 cd 一样。
dev 只是一个别名:
alias dev='gotodev'
gotodev ()
{
cd /development/$1
}
【问题讨论】:
标签: bash-completion