Bash semver 처리

1 개요[ | ]

Bash semver 처리
#!/bin/bash

VERSION=v1.2.3

RE='[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)'
MAJOR=$(  echo $VERSION | sed -e "s#$RE#\1#")
MINOR=$(  echo $VERSION | sed -e "s#$RE#\2#")
PATCH=$(  echo $VERSION | sed -e "s#$RE#\3#")
SPECIAL=$(echo $VERSION | sed -e "s#$RE#\4#")

echo "$VERSION ==> MAJOR=[$MAJOR], MINOR=[$MINOR], PATCH=[$PATCH], SPECIAL=[$SPECIAL]"
#!/bin/bash

function semverParseInto() {
    local RE='[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)'
    eval $2=`echo $1 | sed -e "s#$RE#\1#"`
    eval $3=`echo $1 | sed -e "s#$RE#\2#"`
    eval $4=`echo $1 | sed -e "s#$RE#\3#"`
    eval $5=`echo $1 | sed -e "s#$RE#\4#"`
}

VERSION=v1.2.3
semverParseInto $VERSION MAJOR MINOR PATCH SPECIAL
echo "$VERSION ==> MAJOR=[$MAJOR], MINOR=[$MINOR], PATCH=[$PATCH], SPECIAL=[$SPECIAL]"

VERSION=v3.2.1-alpha
semverParseInto $VERSION MAJOR MINOR PATCH SPECIAL
echo "$VERSION ==> MAJOR=[$MAJOR], MINOR=[$MINOR], PATCH=[$PATCH], SPECIAL=[$SPECIAL]"

2 같이 보기[ | ]

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}