?
Solved

Unix Shell Script To Verify Java Version

Posted on 2012-03-12
4
Medium Priority
?
3,208 Views
Last Modified: 2012-06-27
Hello,

I need to write a Unix Shell Script (preferably shell agnostic, but bash is ok) to verify that the system executing the .sh script has java 1.6 or greater installed and on the system path.  

Thanks for the help...
0
Comment
Question by:cgray1223
4 Comments
 
LVL 7

Expert Comment

by:micropc1
ID: 37713093
This is probably what you want for the version part...

http://notepad2.blogspot.com/2011/05/bash-script-to-check-java-version.html

#!/bin/bash
VER=`java -version 2>&1 | grep "java version" | awk '{print $3}' | tr -d \" | awk '{split($0, array, ".")} END{print array[2]}'`
if [[ $VER ge 6 ]]; then
    echo "Java version is greater than 1.6."
else
    echo "Java version is lower than 1.6."
fi
0
 
LVL 86

Assisted Solution

by:CEHJ
CEHJ earned 400 total points
ID: 37713973
Or this could make it more future proof (pass the script 16, 17, 18 etc)

#!/bin/bash
min_version=${1}
test $(java -version 2>&1 | grep 'java version' | egrep -o '[1-2]\.[6-9]' | tr -d '.') -ge ${min_version}

Open in new window

0
 
LVL 3

Assisted Solution

by:jcgd
jcgd earned 400 total points
ID: 37715207
to verify java in the path:

#!/bin/bash
JAVA=$(which java)
if [ ! -x "${JAVA}" ]; then
   echo java not found
else
   echo java in directory  $JAVA
fi

(here add micropc1 or CEHJ comments)
0
 
LVL 7

Accepted Solution

by:
gudii9 earned 1200 total points
ID: 37715272
Here is interesting explanation, link

if type -p java; then
    echo found java executable in PATH
    _java=java
elif [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]];  then
    echo found java executable in JAVA_HOME    
    _java="$JAVA_HOME/bin/java"
else
    echo "no java"
fi

if [[ "$_java" ]]; then
    version=$("$_java" -version 2>&1 | awk -F '"' '/version/ {print $2}')
    echo version "$version"
    if [[ "$version" > "1.6" ]]; then
        echo version is more than 1.6
    else        
        echo version is less than 1.6
    fi
fi



http://stackoverflow.com/questions/7334754/correct-way-to-check-java-version-from-bash-script
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Utilizing an array to gracefully append to a list of EmailAddresses
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…

568 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question