Nicely written tutorial. The only thing I would suggest is always prefering [[ to [ because it makes dealing with parameter expansions much more easier. Also [[ is most likely as shell builtin, in contrast to [, which is most likely an external program.