From e436cdb64d7d7b338c8f20293d3258c20740705b Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Thu, 24 May 2018 21:07:04 +0000 Subject: [PATCH] allow use of partial version number i.e. v10 or v10.2 --- install.sh | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/install.sh b/install.sh index 6a47387..ccc6801 100644 --- a/install.sh +++ b/install.sh @@ -245,12 +245,20 @@ if [ -n "${NODEJS_VER:-}" ]; then fi fi -if [ -z "${NODEJS_VER:-}" ]; then +NODEJS_VER="${NODEJS_VER:v}" # Search for 'v' at the least +# sort -rV # will sort by version number, but it appears these are already sorted +# tail +2 # starts at line two (1-indexed) and all after (omits the csv header with 'version' and such) +# cut -f 1 # gets only the first column +# head -n 1 # gets only the most recent version +my_char="." +my_count=$(awk -F"${my_char}" '{print NF-1}' <<< "${NODEJS_VER}") +# get the latest version if partial +if [ $my_count -ne 2 ]; then if [ -n "$(type -p curl)" ]; then - NODEJS_VER=$(curl -fsL "$NODEJS_BASE_URL/dist/index.tab" | head -n 2 | tail -1 | cut -f 1) \ + NODEJS_VER=$(curl -fsL "$NODEJS_BASE_URL/dist/index.tab" | tail +2 | cut -f 1 | grep "^$NODEJS_VER." | head -n 1) \ || echo 'error automatically determining current node.js version' elif [ -n "$(type -p wget)" ]; then - NODEJS_VER=$(wget --quiet "$NODEJS_BASE_URL/dist/index.tab" -O - | head -n 2 | tail -1 | cut -f 1) \ + NODEJS_VER=$(wget --quiet "$NODEJS_BASE_URL/dist/index.tab" -O - | tail +2 | cut -f 1 | grep "^$NODEJS_VER." | head -n 1) \ || echo 'error automatically determining current node.js version' else echo "Found neither 'curl' nor 'wget'. Can't Continue."