检查jdk版本

#!/bin/bash
command_exists() {
    command -v "$@" > /dev/null 2>&1
}
main() {
    flag=0
    # 宿主机检查
    java_ps=$(ps -ef | grep java | grep -v grep | awk '{ print $2 }')
    java_version=$(java -version 2>&1 | grep version | sed -e 's/"//g' | awk '{print $3}')
    if [ -n "$java_ps" ];then
        if [ -n "$java_version" ];then
            if [[ $java_version == 1.8* ]];then
                echo ""
            else
                flag=1
                echo "java version $java_version exists"
            fi
        fi
    fi

    # 容器检查
    if command_exists docker; then
        for cid in $(docker ps --format "{{.ID}}"); do
            local j_version=$(docker exec -i $cid /bin/bash -c 'java -version 2>&1' | grep version | sed -e 's/"//g' | awk '{print $3}')
            if [ -n "$j_version" ];then
                if [[ $j_version == 1.8* ]];then
                    echo "1"
                else
                    flag=1
                    echo "id: "$cid" have jdk:"$j_version
                fi
            fi
        done
    fi

    if [ $flag -eq 0 ];then
        echo "safe"
    fi
}

main

 

posted @ 2024-07-04 14:21  羊脂玉净瓶  阅读(13)  评论(0)    收藏  举报