Filenames and pathnames in shell: How to do it correctly (2020)
I'm sorry, but anything that requires a programmer to memorize this many rules in order to avoid shooting themselves in the foot is deeply and fundamentally flawed and needs to be completely redesigned from the ground up.   There is a reason that modern programming languages include actual <i>data strutures</i> and don't just treat everything as a string of bytes.  That might have been a good idea in 1973.  In 2023, not so much.<p>So... use a shell for interactive work if you must, but never ever write a script for one.  Use Python or Ruby or just about <i>anything</i> besides a shell.