Sample reproducer environment: """ # cat > input.file<<EOF a b c d EOF # for i in $(cat input.<TAB> """ In rhel 7 it would correct complete 'input.file'. In rhel 8 it just bells and does not auto complete. It works if adding a backslash before the dollar sign, for example: # for i in \$(cat input.<TAB> or if adding a newline: # for f in $(cat input.<TAB> The easiest workaround is to not let it generate an autocompletion for 'for', and have in .bashrc or similar file the command: complete -o default for but this is just working around what appears to be a bug, as when spawning the subshell to generate the auto completion, it is actually attempting to autocomplete the string '$(cat input.' instead of 'input.' Another possible workaround, but really brute force would be to have: shopt -u progcomp in some initialization file, but that would not really bring compatibility with rhel7 behavior. Still, it would work usages of: $(cat input. other than just as a 'for' argument.
*** Bug 1982830 has been marked as a duplicate of this bug. ***
https://github.com/scop/bash-completion/issues/630