Exemple pour compléter avec un nom de répertoire dans un dossier particulier :
Pour mon script « prepareDirFromWeb » qui se trouve dans mon dossier « /home/michael/bin » , je créé le fichier /etc/bash_completion.d/prepareDirFromWeb qui contient le code suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# bash completion for Debian apache2 configuration tools # $Id: apache2,v 1.1 2005/03/16 22:51:19 guillaume Exp $ _prepareDirFromWeb() { local cur prev opts dirList COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" opts="--help --verbose --version" dirList="`ls -d /var/www/*/ | awk -F / '{print $5}' `" if [[ ${cur} == -* ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 else COMPREPLY=( $(compgen -W "${dirList}" ${cur}) ) fi } complete -F _prepareDirFromWeb prepareDirFromWeb |