ubuntuusers.de

Java-Version per Kommandozeilen-Programm abfragen

Status: Gelöst | Ubuntu-Version: Ubuntu
Antworten |

nille

Anmeldungsdatum:
16. August 2007

Beiträge: 792

Ich habe jetzt zwar alles nur überflogen aber du kannst dir direct in java die Version ausgeben lassen z.b.

public class Main {
    
    public static void main(String[] args){
        System.out.println( System.getProperty("java.version") );
    
    }

}

xTOMx

Anmeldungsdatum:
19. Februar 2007

Beiträge: 116

so, dieses auf die Schnelle mit meinen rudimentären shell-Kenntnissen erstellte Skript sollte aushelfen. Geht vielleicht kürzer und/oder eleganter, aber ich bin da kein Profi.

#!/bin/sh
# Test ob Java-Version >= 1.5


version1=`java -version | sed -n '1p' | cut -c 15`
version5=`java -version | sed -n '1p' | cut -c 17`

if [ \( $version1 -ge 1 \) -a \( $version5 -ge 5 \) ]
        then
        echo "richtige Version! starte pc-world's java-programm..."
        else
        echo  "falsche Version!" ; exit
fi

exit

MrKanister

Anmeldungsdatum:
13. Oktober 2007

Beiträge: 2105

Dass man so extrem um den Brei rumreden kann...ts ts ts 😀

Das sollte dich ein großes Stück weiter bringen:

martin@martin-desktop:~$ java -version 2>&1 | awk -F \" '/version/ { print $2 }'
1.6.0

Gruß Martin

MrKanister

Anmeldungsdatum:
13. Oktober 2007

Beiträge: 2105

Oder direkt in Python:

#!/usr/bin/env python
#*- coding: UTF-8 -*


import subprocess as sp


required_version = "1.5.8".split(".")

output = sp.Popen(["java", "-version"], stderr=sp.PIPE).communicate()[1]
available_version = output.split("\"")[1].split(".")

if available_version >= required_version:
    print("Ihre Version ist aktuell genug.")
else:
    print("Ihre version ist nicht aktuell genug.")

xTOMx

Anmeldungsdatum:
19. Februar 2007

Beiträge: 116

Mr. Kanister hat geschrieben:

Das sollte dich ein großes Stück weiter bringen:

martin@martin-desktop:~$ java -version 2>&1 | awk -F \" '/version/ { print $2 }'
1.6.0

hehe, awk, ich wusste es 😀 aber die Zeile allein bringt ihm ja nicht viel wenn er ne Bedingung braucht, ne?

Und warum eine Python-Instanz starten wenn es mit der Shell allein ausreicht?

MrKanister

Anmeldungsdatum:
13. Oktober 2007

Beiträge: 2105

xTOMx hat geschrieben:

hehe, awk, ich wusste es 😀 aber die Zeile allein bringt ihm ja nicht viel wenn er ne Bedingung braucht, ne?

Mir fällt gerade noch ein, dass awk das ja auch kann;)

java -version 2>&1 | awk -F \" '/version/ { if ($2 >= 1.5.8) { print "Version reicht aus." }}' 

xTOMx hat geschrieben:

Und warum eine Python-Instanz starten wenn es mit der Shell allein ausreicht?

Weil Python schöner ist 8)

Gruß Martin

xTOMx

Anmeldungsdatum:
19. Februar 2007

Beiträge: 116

Mr. Kanister hat geschrieben:

Mir fällt gerade noch ein, dass awk das ja auch kann;)

aah, sehr schön ☺ ja, awk is schon ne Sache für sich, die sich lohnt näher betrachtet zu werden. Bin ich leider noch nicht dazu gekommen 🐸

Antworten |