Adicionar autocompletar semelhante a bash ao Drush5

O Drush tem dezenas de comandos e esses comandos têm seus próprios parâmetros … nem todo mundo tem ambições de ganhar competições com o conhecimento dos comandos do drush.
Felizmente, somos capazes de habilitar o preenchimento automático e, em seguida, listar e escolher comandos / parâmetros pressionando a tecla [TAB].

Copie o código a seguir e cole-o no final do arquivo ~ / .bashrc

# Ensure drush is available.
which drush
> /dev/null || alias drush &> /dev/null || return

__drush_ps1
() {
f
="${TMPDIR:-/tmp/}/drush-env/drush-drupal-site-$$"
if [ -f $f ]
then
DRUPAL_SITE
=$(cat "$f")
fi

[[ -n "$DRUPAL_SITE" ]] && printf "${1:- (%s)}" "$DRUPAL_SITE"
}

# Completion function, uses the "drush complete" command to retrieve
# completions for a specific command line COMP_WORDS.
_drush_completion
() {
# Set IFS to newline (locally), since we only use newline separators, and
# need to retain spaces (or not) after completions.
local IFS=$'n'
# The '< /dev/null' is a work around for a bug in php libedit stdin handling.
# Note that libedit in place of libreadline in some distributions. See:
# https://bugs.launchpad.net/ubuntu/+source/php5/+bug/322214
COMPREPLY
=( $(drush --early=includes/complete.inc "${COMP_WORDS[@]}" < /dev/null 2> /dev/null) )
}

# Register our completion function. We include common short aliases for Drush.
complete
-o nospace -F _drush_completion d dr drush drush5 drush6 drush6 drush.php

Salve o arquivo e recarregue o bash:

source ~/.bashrc

Observação: este código é uma cópia do arquivo drush.complete.sh, que você pode encontrar aqui:
http://drupalcode.org/project/drush.git/blob/HEAD:/drush.complete.sh