Skip to content

Instantly share code, notes, and snippets.

@ikasoba
Last active November 8, 2022 09:22
Show Gist options
  • Select an option

  • Save ikasoba/01d12ac14449f513a54aebc178486a82 to your computer and use it in GitHub Desktop.

Select an option

Save ikasoba/01d12ac14449f513a54aebc178486a82 to your computer and use it in GitHub Desktop.
cmp_version_le(){ \
v1=($(echo -n $1 | xargs -d.)) \
; v2=($(echo -n $2 | xargs -d.)) \
; if [ ${#v1[*]} -lt ${#v2[*]} ]; then \
t=$v1 \
; v1=$v2 \
; v2=$t \
; fi \
; for i in ${!v1[*]}; do \
if [ ${#v2[$(($i + 1))]} = 0 ]; then \
[ "${v1[$i]}" -le "${v2[$i]}" ] \
; return $? \
; elif [ ! "${v1[$i]}" -le "${v2[$i]}" ]; then \
return 1 \
; fi \
; done \
; return 0 \
; }
cmp_version_ge(){ \
v1=($(echo -n $1 | xargs -d.)) \
; v2=($(echo -n $2 | xargs -d.)) \
; if [ ${#v2[*]} -lt ${#v1[*]} ]; then \
t=$v2 \
; v2=$v1 \
; v1=$t \
; fi \
; for i in ${!v1[*]}; do \
if [ ${#v2[$(($i + 1))]} = 0 ]; then \
[ "${v1[$i]}" -ge "${v2[$i]}" ] \
; return $? \
; elif [ ! "${v1[$i]}" -ge "${v2[$i]}" ]; then \
return 1 \
; fi \
; done \
; return 0 \
; }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment