The problem is that a single quote will often times appear in strings as well, and sometimes (like in the case of bash) can't even be escaped. So you end up requiring double quotes either way.
Why not just settle permanently on double quotes? This is what Go and other languages did and I think it's a good idea.