我正在尝试编写一个安装(bash)脚本,我需要检查用户是否安装了java 1.8。
显而易见的方法是致电
javac -version | grep 1.8
,但由于一些奇怪的原因,javac(和java)-version输出无法重定向 - 既不是|,>或>> - 在第一种情况下,第二个程序没有得到任何输入,在第二个和第三个程序中,输出文件在执行命令后为空。 我试着在三台不同的机器上检查它,结果在每台机器上都是一样的。
原因是什么? 有没有其他方法可以检查java版本?
答案 0 :(得分:4)
似乎输出发送到STDERR
。试试这个:
javac -version 2>&1
这会将STDERR
的输出重定向到STDOUT
。现在你应该能够管道命令了。
如果您只想将其重定向到文件,只需将&1
替换为文件名即可:
javac -version 2>out
答案 1 :(得分:0)
您只需使用此工具检查您的java版本: http://www.java.com/en/download/installed.jsp