Skip to content

Instantly share code, notes, and snippets.

@siddharthkrish
Created July 3, 2017 15:14
Show Gist options
  • Save siddharthkrish/32072e6f97d7743b1a7c47d76d2cb06c to your computer and use it in GitHub Desktop.
Save siddharthkrish/32072e6f97d7743b1a7c47d76d2cb06c to your computer and use it in GitHub Desktop.
simple bash script to increment the version number of the format major.minor.build
#!/bin/bash
version="$1"
major=0
minor=0
build=0
# break down the version number into it's components
regex="([0-9]+).([0-9]+).([0-9]+)"
if [[ $version =~ $regex ]]; then
major="${BASH_REMATCH[1]}"
minor="${BASH_REMATCH[2]}"
build="${BASH_REMATCH[3]}"
fi
# check paramater to see which number to increment
if [[ "$2" == "feature" ]]; then
minor=$(echo $minor + 1 | bc)
elif [[ "$2" == "bug" ]]; then
build=$(echo $build + 1 | bc)
elif [[ "$2" == "major" ]]; then
major=$(echo $major+1 | bc)
else
echo "usage: ./version.sh version_number [major/feature/bug]"
exit -1
fi
# echo the new version number
echo "new version: ${major}.${minor}.${build}"
@Lxrdknows77
Copy link

Okay., but when major or minor version increment, next point should be sweep to zero. Like 1.2.4 minor ---- > 1.3.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment