我试图在bash脚本中获取javac版本(用于apks操作和构建)。
我找到了一种获取java版本的方法,该版本可能相似但不相同(它对javac不起作用)。
P.S。:目前正在开发OS X,但也应该在Linux上运行。
编辑:PS:某些环境可能没有PATH中的javac
谢谢!
答案 0 :(得分:2)
当javac处于或不处于PATH变量
时,尝试使用支持这两种情况的函数showJavacVersion()
{
x="h"
{
x=$(type -p javac)
} >&-
if [ -n "$x" ]; then
_javac=javac
elif [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/javac" ]]; then
_javac="$JAVA_HOME/bin/javac"
fi
if [[ "$_javac" ]]; then
version=$("$_javac" -version 2>&1 | awk -F ' ' '/javac/ {print $2}')
echo $version
else
echo javac not found
fi
}
简单地称之为
showJavacVersion
希望它有所帮助!
答案 1 :(得分:0)
javac
中的PATH
:
jc_ver="$(javac -version 2>&1| grep -o '[0-9_.]*$')"
echo "$jc_ver"
或使用cut
:
jc_ver="$(javac -version 2>&1| cut -d ' ' -f2)"