Re: Oh FFS
Well, we did learn that suid shell scripts were a really bad thing quite a long time ago (35 years or more). CI/CO by tools is something that has come along more recently, and has introduced new problems, mainly to do with other forms of implied trust.
But calling a file "-i" was a common practice to protect a directory from an "rm *". Because "-i" almost always sorts early in most collating sequences, it turned "rm *" into "rm -i <rest of files>". Just never create a file "-rf"!
UNIX like OS's have always been very unfussy about what characters can appear in a filename. I'm sure there may be a few more, but off the top of my head, the only characters that are definitely not allowed are "/" and NULL. Your friends when trying to see/fix awkward characters are the "-b" flag on ls, and octal character expansion in shells. Even this has become more complicated as a result of multi-byte character sets and collating sequences.