I always confuse myself as to whether the correct flags for java
and the jshell
are -cp
or --classpath
or --class-path
or something else, so instead of trying to remember something like a normal human, I instead spent a few hours pulling this script together.
It automatically detects any variation of cp
, classpath
, and class-path
flags in a series of command-line arguments, and concatenates all of the correct arguments to give you a nice, clean classpath
. I hope it's useful!
Top comments (2)
An alternative to the for loop is the while loop with the shift command. It is without indexes and much simpler.
BTW: This script look like in Java. Bash is not Java, Bash is different. Use echo for return values from function.
Hi Vlastimil. I used indices because I need the i-th argument and also the i+1-th argument at the same time.
shift
throws away earlier arguments. There might be a way to refactor it, which I would love to see.I use exit codes to indicate the status of the method -- i.e.
0
if everything went fine,1
if there was an error, etc. I also useecho
to print strings meant to be "returned" from the functions. See above!