I'd like to preface this by saying that I am not proselytizing Bash, Unix, etc, or trying to disparage other systems or projects. That said, It seems like what you are comparing are disparate systems.
Bash, while POSIX compliant, is part of the GNU project, with tools that have many extensions on top of POSIX. Other similar projects have done the same and the extensions, of course, cannot be expected to all have the same command line switches since, as you say, there is no common standard beyond POSIX.
That said, the GNU project certainly has made attempts to standardize the command line switches among all the individual tools within their own project by adding long-options, while the short options that emulate the original Unix tools are the same as would be expected by the original tools, AFAIK.
What you describe as cohesiveness among the Microsoft tools should be expected by any project, and is largely true for all of them, respectively.
The inconsistencies you mention are mostly the result of disparate projects that have provided extensions to the POSIX standards.
I may be wrong about any of this, as I am not an expert historian of technology, and please correct me if I am. This is my understanding of the differences you mentioned.
I understand the historical reasons but it doesn't eliminate the fact that bash is a lot harder to learn and to maintain than pwsh once scripts get passed simple cd, ls, cat stuff.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I'd like to preface this by saying that I am not proselytizing Bash, Unix, etc, or trying to disparage other systems or projects. That said, It seems like what you are comparing are disparate systems.
Bash, while POSIX compliant, is part of the GNU project, with tools that have many extensions on top of POSIX. Other similar projects have done the same and the extensions, of course, cannot be expected to all have the same command line switches since, as you say, there is no common standard beyond POSIX.
That said, the GNU project certainly has made attempts to standardize the command line switches among all the individual tools within their own project by adding long-options, while the short options that emulate the original Unix tools are the same as would be expected by the original tools, AFAIK.
What you describe as cohesiveness among the Microsoft tools should be expected by any project, and is largely true for all of them, respectively.
The inconsistencies you mention are mostly the result of disparate projects that have provided extensions to the POSIX standards.
I may be wrong about any of this, as I am not an expert historian of technology, and please correct me if I am. This is my understanding of the differences you mentioned.
I understand the historical reasons but it doesn't eliminate the fact that bash is a lot harder to learn and to maintain than pwsh once scripts get passed simple cd, ls, cat stuff.