A very nice and useful summary of special characters in the shell: https://tldp.org/LDP/abs/html/special-chars.html I just experimented a bit, and I found that it's only the bash completion that adds a backslash before an equal sign '='. With zsh, tcsh, csh, this doesn't happen. But then, this backslash also doesn't hurt; not very much, at least: % bash sh@balrog:~/tmp> touch a=b sh@balrog:~/tmp> rm a\=b (hit [tab] after 'rm a') sh@balrog:~/tmp> touch a=b (not using [tab] at all) sh@balrog:~/tmp> rm a=b So far, so good; but: sh@balrog:~/tmp> touch a=b sh@balrog:~/tmp> rm a=a\=b (hit [tab] after 'rm a=') rm: cannot remove 'a=a=b': No such file or directory In this case, it actively destroyed my valid input. But then, this might be a case of "doctor, it hurts when I do that!" - "then don't do that". ;-) So, is this really a problem? Frankly, I don't think so.