Format der Versionen - X.X.X.X.
Wo X - Nummer.
Was ist der beste Weg, um zwei Versionen zu vergleichen?
Ich benutze folgenden Code:
Aber ich mag es nicht - es ist sehr einfach Vielleicht gibt es viele Möglichkeiten, Versionen zu vergleichen?
Wenn Sie in Ihrem Shell-Skript mit Perl schummeln können, probieren Sie es aus Handhabung von Versionszeichenfolgen mit String-Vergleichsoperatoren:
%Vor%Sie könnten auch die Perl-Variablen entfernen und einfach shift verwenden:
%Vor%Aber das scheitert an Versionen & gt; 10. Du könntest das stattdessen versuchen:
%Vor%Der Sprintf von "% 5d" soll sicherstellen, dass es auch für Firefox funktioniert, bis Version 99999 ...: -)
Natürlich können Sie auch die anderen Perl-String-Operatoren wie gt, lt, ge und le verwenden.
Ich hatte dieses Problem, und nachdem ich es gelöst hatte, suchte ich nach einer besseren Antwort, die bereits verfügbar war. Meine Version erlaubt den Vergleich von Versionszeichenfolgen unterschiedlicher Länge und ist die Funktion version_ge () unten, die wie in
als Operator "größer oder gleich" verwendet werden sollteif version_ge "$ version" "1.2.3.4"; dann ...
%Vor%