This completion function worked in previous versions, but fails in
bash4.0 when I press TAB:
_cpsh() {
COMPREPLY=( `
cd "$HOME/scripts" || return 3
printf "%s\n" ${COMP_WORDS[$COMP_CWORD]}*-sh`
)
COMPREPLY=( "${comprep...@]%-sh}" )
}
complete -F _cpsh cpsh
This is what happens:
$ cpsh <TAB>
malloc: ./parse.y:5563: assertion botched
free: called with unallocated block argument
last command: _cpsh() {
COMPREPLY=( `
cd "$HOME/scripts" || return 3
printf "%s\n" ${COMP_WORDS[$COMP_CWORD]}*-sh`
)
COMPREPLY=( "${comprep...@]%-sh}" )
}
Aborting...Aborted
--
Chris F.A. Johnson, webmaster <http://woodbine-gerrard.com>
===================================================================
Author:
Shell Scripting Recipes: A Problem-Solution Approach (2005, Apress)