Detect shell at runtime. Test whether the shell is a POSIXy or Windows shell based on the spelling of "/dev/null", rather than inferring it at compile time with macros.