例如:输入
update-repo
按两下tab,出现全部ppa列表 输入edg 按下tab,直接返回xorg-edgers-ppa-quantal.list 回车输入密码,回车,开始更新
代码: 全选
[ -f $HOME/.bashrc ] && cp $HOME/.bashrc{,.bak}
[ -f $HOME/.bash_funcs ] && cp $HOME/.bash_funcs{,.bak}
[ -f $HOME/.bash_completion ] && cp $HOME/.bash_completion{,.bak}
代码: 全选
update-repo() {
sudo apt-get update -o Dir::Etc::sourcelist="sources.list.d/$1" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
}
代码: 全选
if [ -f $HOME/.bash_funcs ]; then
. $HOME/.bash_funcs
fi
代码: 全选
# Debian user-defined completion -*- shell-script -*-
_ppa_lists(){
local cur
_init_completion || return
COMPREPLY=( $( find /etc/apt/sources.list.d/ -name "*$cur*.list" -exec basename {} \; 2> /dev/null ) )
return 0
} &&
complete -F _ppa_lists update-repo
代码: 全选
. ~/.bashrc
. ~/.bash_completion
代码: 全选
update-ppa <tab> <tab>
如果愿意,当然也可以将函数和其补全函数放入同一个脚本内,分开放的好处是便于管理,有些补全函数是可以重复使用的。