#author("2017-09-13T00:09:15+09:00","","")
#navi(../)
* バージョンをメジャー・マイナー・リビジョンに分割する [#o507b1dd]
setコマンドを使用し、バージョン情報をメジャー・マイナー・リビジョンに分割する例を記します。~
バージョン情報の分割サンプルスクリプトになりますが、他の文字列分割の例にもなると思います。

#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* set コマンドを使用し分割してみる [#n9b67804]
以下のようにバージョン文字列を指定し、メジャー・マイナー・リビジョンに分割してみます。
 $ 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 のオプションに--をつけた理由 [#de328aae]
setに--をつけるとオプションを無効にすることができます。~
以下のようなバージョン文字列の場合、--をつけないと、-aがオプションとして認識され、メジャーが格納されません。
** -- オプションなし [#p0dd51a7]
最初の-aがオプションとして認識され、分割が期待通りにされません。~

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

** -- オプションあり [#j14fd3d4]
以下のように--をつけると、期待通りに分割されます。
 $ V="-a.2.3"
 $ set -- `echo $V | sed -e 's/\./ /g'`
 $ echo $1
 -a
 $ echo $2
 2
 $ echo $3
 3

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

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS