--- bash_completion | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) Index: bash-completion-2.11/bash_completion =================================================================== --- bash-completion-2.11.orig/bash_completion +++ bash-completion-2.11/bash_completion @@ -1052,16 +1052,21 @@ _tilde() _dollar() { local s="" - local -i glob=0 - + local -i glob=0 cmd=0 shopt -q extglob && let glob++ ((glob == 0)) && shopt -s extglob [[ "$COMP_LINE" == cd* ]] && s="/" case "$1" in - \$\(*|\`*) - COMPREPLY=($(compgen -c -P '$(' -S ")$s" -- ${1#??})) ;; + \$\(*) + COMPREPLY=($(compgen -c -P '$(' -S ")$s" -- ${1#??})) + let cmd++ + ;; + \`*) + COMPREPLY=($(compgen -c -P '\`' -S "\`$s" -- ${1#?})) + let cmd++ + ;; \$\{*) COMPREPLY=($(compgen -v -P '${' -S "}$s" -- ${1#??})) ;; \$*) @@ -1073,7 +1078,7 @@ _dollar() if ((${#COMPREPLY[@]} > 0)) ; then ((${#COMPREPLY[@]} == 1)) && eval COMPREPLY=\(${COMPREPLY[@]}\) - else + elif ((cmd == 0)); then eval COMPREPLY=\(${1}\) fi