Currently, there is logic in three different places that parses arguments for the bin/solr scripts. There is logic in the scripts themselves (bin/solr, bin/solr.cmd), and there is logic in Java to parse the arguments sent by the scripts themselves (SolrCLI.java.
This creates maintenance burden. It makes it easy for inconsistencies/bugs to creep into the scripts (see
SOLR-11840 and SOLR-11441, for a few examples). It adds work when adding/removing/modifying bin/solr script behavior. And it forces anyone hoping to improve the scripts to be conversant in both bash and Windows batch scripting.
It would be a big help if all the argument parsing was done on the Java side, and little or none was done in the scripts themselves. There are a few situations in which this is difficult, but in no cases is it impossible.
We should move this logic into Java-land.