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に--をつけるとオプションを無効にすることができます。
以下のようなバージョン文字列の場合、--をつけないと、-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コマンドをつかってバージョン文字列を分割するサンプルでした。