(In reply to Werner Fink from comment #2) > I've no time to hunt this bug. Is there any volunteer around here? IMHO the > shell function _minimal does not handle the directory case of the value of a > variable. No. There are two chains - for $FOO and $FOO/. The former call chain is _longopt => _init_completion => _variables. It actually does everything right, but completions that are using _longopt also add filename context (-o filenames) which seem to cause bash to quote content of COMPREPLY. Default bash completions do not set filenames option or explicitly unset it if current word looks like variable expansion. The latter explicitly quotes argument in _filedir. I'm afraid there is no simple fix. _filedir should probably split string on '/', add initial part as prefix and complete only final part. But look at zsh _path_files to get an idea what it involves ... The actual question is - why systemd completion requires bash-completion at all? On the quick glance it does not use anything from its framework.