自定义bash补全
发表于 : 2012-10-03 20:57
配置文件路径~/.bash_completion
基本格式:
----------------------------------------------------------------------
# ~/.bash_completion, auto sourced by login shell
# function staement
_script_func(){
# local variable statment
local var1 var2 ..
# completion initialize
_init_completion || return
# completion reply message
COMPREPLY=( $( cmd arguments $var >/dev/null ) ) |string_parse_scrpt
# string_parse commands includes 'grep', 'cut', 'sort', 'tr', etc.
return 0
# key word insertion
COMPREPLY=( $( compgen -W 'keywords list' -- "$cur" ) )
return 0
}&&
# completion triger
complete -F _script_func script
_script2_func(){
...
...
} &&
complete -F _script2_fun script2
...
...
-------------------------------------------------------------------
例子:
--------------------------------------------------------------------------------
# ~/.bash_completion
# Debian user-defined completion -*- shell-script -*-
# bash_script_changeview: view changlog of debian package
# auto completion target: pkgnames in apt-cache repository
_changeview()
{
local cur
_init_completion || return
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" 2> /dev/null ) )
return 0
} &&
complete -F _changeview changeview
--------------------------------------------------------------------------------
Usage:
~$ changeview linux-image
<tab> <tab>
linux-image linux-image-extra-virtual
linux-image-3.5.0-15-generic linux-image-generic
linux-image-3.5.0-16-generic linux-image-generic-pae
linux-image-3.5.0-16-lowlatency linux-image-lowlatency
linux-image-3.6.0-030600-generic linux-image-lowlatency-pae
linux-image-extra-3.5.0-15-generic linux-image-server
linux-image-extra-3.5.0-16-generic linux-image-virtual
linux-image-extra-3.6.0-030600-generic
基本格式:
----------------------------------------------------------------------
# ~/.bash_completion, auto sourced by login shell
# function staement
_script_func(){
# local variable statment
local var1 var2 ..
# completion initialize
_init_completion || return
# completion reply message
COMPREPLY=( $( cmd arguments $var >/dev/null ) ) |string_parse_scrpt
# string_parse commands includes 'grep', 'cut', 'sort', 'tr', etc.
return 0
# key word insertion
COMPREPLY=( $( compgen -W 'keywords list' -- "$cur" ) )
return 0
}&&
# completion triger
complete -F _script_func script
_script2_func(){
...
...
} &&
complete -F _script2_fun script2
...
...
-------------------------------------------------------------------
例子:
--------------------------------------------------------------------------------
# ~/.bash_completion
# Debian user-defined completion -*- shell-script -*-
# bash_script_changeview: view changlog of debian package
# auto completion target: pkgnames in apt-cache repository
_changeview()
{
local cur
_init_completion || return
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" 2> /dev/null ) )
return 0
} &&
complete -F _changeview changeview
--------------------------------------------------------------------------------
Usage:
~$ changeview linux-image
<tab> <tab>
linux-image linux-image-extra-virtual
linux-image-3.5.0-15-generic linux-image-generic
linux-image-3.5.0-16-generic linux-image-generic-pae
linux-image-3.5.0-16-lowlatency linux-image-lowlatency
linux-image-3.6.0-030600-generic linux-image-lowlatency-pae
linux-image-extra-3.5.0-15-generic linux-image-server
linux-image-extra-3.5.0-16-generic linux-image-virtual
linux-image-extra-3.6.0-030600-generic