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 2017-07-04 07:47:32.437889150 +0000 @@ -1886,8 +1886,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)