FreeBSD初心者運用日記 このページをアンテナに追加

 | 

2009-01-20

[]バージョンの比較方法 23:34 バージョンの比較方法 - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - バージョンの比較方法 - FreeBSD初心者運用日記 バージョンの比較方法 - FreeBSD初心者運用日記 のブックマークコメント

シェルスクリプトで何かのパッケージのバージョンを比較するようなケースを考えてみる。

sudoの場合、オプションVでバージョンが表示できる。

$ sudo -V
Sudo version 1.6.8p7

この形式のバージョンをifで比較したい場合、以下のようなシェルスクリプトをくめばよい

#!/bin/sh

version=`sudo -V | sed 's/Sudo version \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)p\([0-9]*\)/\1 \2 \3 \4/' | xargs printf "%02d%02d%02d%02d" | xargs expr 1 \* `
if [ $version -gt 1060807 ]; then
        echo "pattern a"
else
        echo "pattern b"
fi

ちなみにバージョンの呼び方だが、

1.6.8p7のうち

1はメジャーバージョン

6はマイナーバージョン

8はteenyバージョン

7はパッチレベル

と呼ぶらしい。

 |