linux下 為自己編寫的程序 添加tab自動補全功能 入門
complete
- 在我的tmp下隨便寫了一個a.sh, 為他補全
- edit
/etc/bash_completion.d/foo
_foo()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="--help --verbose --version"
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
}
complete -F _foo /home/cc/tmp/comp/a.sh
- source foo后
表現為
cc@PC:~/tmp/comp$ ./a.sh
a.sh comp1.sh comp-a.sh x-chen
cc@PC:~/tmp/comp$ /home/cc/tmp/comp/a.sh --
--help --verbose --version
4.undo以上操作???
我猜想是改一下步驟2的函數體繼續做以下步驟就好
================================對x的complete完全正確步驟
- edit
/etc/bash_completion.d/xchencomp
_x_chen_comp()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="qtcreator idea lantern clion"
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
}
complete -F _x_chen_comp x
-
source xchencomp
-
愉快使用x命令打開qtcreator等軟件 _