These options which obscure me are like
ps aux
, route -ee
, gcc -fPIC xxx
, find . -name xxx
and so on.
The examples above aren’t comprehensive.
I.e., I don’t think that the argument handle function like getopt or getopt_long could handle all the “strange” options.
In the other hand, these handle ways aren’t intuitive.
Why do GNU programmers or Unix/BSD programmers code in these ways?
At least some of those are older than GNU and BSD and getopt
/getopt_long
. Some of those may even be older than Unix, or may be ports of programs that originated outside of Unix.
For an interesting case study, you could try to read up on how tar
and cpio
became unified into pax
.