Reputation: 81
I'm trying to write an installation (bash) script, in which I need to check if user has the java 1.8 installed.
The obvious way to do that is to call
javac -version | grep 1.8
, but for some strange reason javac (and java) -version output can't be redirected - neither by |, > or >> - in the first case, the second program doesn't get any input, in second and third, the output file is empty after executing the command. I've tried to check it on three different machines, the result was the same on each of them.
What is the cause of that? Is there any other way I can check the java version?
Upvotes: 1
Views: 1025
Reputation: 95518
It appears that the output is sent to STDERR
. Try this:
javac -version 2>&1
This will redirect the output of STDERR
to STDOUT
. Now you should be able to pipe the command.
If you just want to redirect it to a file, just replace &1
by the filename, so:
javac -version 2>out
Upvotes: 5
Reputation: 913
you can simply check your java versionby using this tool: http://www.java.com/en/download/installed.jsp
Upvotes: 0