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.
shiftthrows 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.
0if everything went fine,1if there was an error, etc. I also useechoto print strings meant to be "returned" from the functions. See above!