Why is /usr/bin/test 4kiB smaller than /usr/bin/[?
vidarholen.net
vidarholen.net
To me this is even more interesting than the size thing. Wth seriously! It changes the way I will think of it next time I'm gonna use it.
I thought perl was a strange language with all the swearing cartoon characters, until I was introduced to bash and all the strange things like the hyphen for a default argument and what not. Writing shell scripts without stackoverflow is so hard because of all such idiosyncrasies (or maybe remanants of the past?).
The most important thing to understanding shell is that there are shell features, which have basically arbitrary parsing rules although they have some consistency, as well as commands which are parsed consistently into an argument list, but how that argument list is interpreted is completely up to the command.
Now while these may help you understand shell, they do not constitue a "good" programming language.