このエントリーをはてなブックマークに追加


バージョンをメジャー・マイナー・リビジョンに分割する

setコマンドを使用し、バージョン情報をメジャー・マイナー・リビジョンに分割する例を記します。
バージョン情報の分割サンプルスクリプトになりますが、他の文字列分割の例にもなると思います。

set コマンドを使用し分割してみる

以下のようにバージョン文字列を指定し、メジャー・マイナー・リビジョンに分割してみます。

$ V="1.2.3"
$ echo $V
1.2.3
$ set -- `echo $V | sed -e 's/\./ /g'`
$ echo $1
1
$ echo $2
2
sakura@cygwin ~
$ echo $3
3

上記の実行結果の通り、setコマンドでバージョン文字列が分割され、$1にメジャー、$2にマイナー、$3にリビジョンが格納されているのが確認できます。

set のオプションに--をつけた理由

setに--をつけるとオプションを無効にすることができます。
以下のようなバージョン文字列の場合、--をつけないと、-aがオプションとして認識され、メジャーが格納されません。

-- オプションなし

最初の-aがオプションとして認識され、分割が期待通りにされません。

$ V="-a.2.3"
$ set `echo $V | sed -e 's/\./ /g'`
$ echo $1
2
$ echo $2
3

-- オプションあり

以下のように--をつけると、期待通りに分割されます。

$ V="-a.2.3"
$ set -- `echo $V | sed -e 's/\./ /g'`
$ echo $1
-a
$ echo $2
2
$ echo $3
3

以上、setコマンドをつかってバージョン文字列を分割するサンプルでした。


スポンサーリンク


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-09-13 (水) 00:09:43 (372d)