Bug boo#940837 Bug bsc#959299 That is do not escape the dollar character of a variable to allow commands like `ls' to go further in its completion chain. --- bash_completion | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) --- bash_completion +++ bash_completion 2015-12-18 09:53:36.647442000 +0100 @@ -1798,8 +1798,19 @@ _complete_as_root() _longopt() { - local cur prev words cword split - _init_completion -s || return + local cur=${COMP_WORDS[COMP_CWORD]} + local prev words cword split + + if [[ "${cur:0:1}" == '$' ]] ; then + compopt -o dirnames +o filenames + else + compopt +o dirnames -o filenames + fi + + if ! _init_completion -s ; then + _dollar $cur + return + fi case "${prev,,}" in --help|--usage|--version)