↓ Skip to main content
  1. Posts/

upgrade go binary

·1 min·
#!/bin/bash
set -o errexit

function _upgrade_go_binary {
    
    go_latest_version=$(curl --silent https://go.dev/doc/devel/release | grep -Eo 'go[0-9]+(\.[0-9]+)+' | sort -V | uniq | tail -1)
    
    # go_latest_version="go1.20rc3"
    
    
    if [[ $go_latest_version == "" ]]; then
        echo "Skipping Go binary upgrade (no version found)."
        return
    fi
    
    
    if [ -d ~/Sdk/go/$go_latest_version ]; then
        echo "Lastest version of Go already installed, skipping upgrade."
        return
    fi
    
    [[ $(hash go 2>/dev/null) ]] && go version
    echo "Upgrading to $go_latest_version"
    
    # compatible with Linux and Darwin (maybe windows too)
    local GO_LATEST_FILENAME="$go_latest_version.$(uname -s | \
    tr '[:upper:]' '[:lower:]')-amd64.tar.gz"
    echo "Downloading $GO_LATEST_FILENAME to ~/.bin/go/$GO_LATEST_FILENAME"
    wget https://dl.google.com/go/$GO_LATEST_FILENAME -O /tmp/$GO_LATEST_FILENAME
    
    echo "Installing $GO_LATEST_FILENAME"
    cd ~/Sdk/go
    tar zxf /tmp/$GO_LATEST_FILENAME
    rm /tmp/$GO_LATEST_FILENAME
    mv go $go_latest_version
    ln -sfn ~/Sdk/go/$go_latest_version ~/Sdk/go/current
    
    go version
}
if [[ -d ~/Sdk/go ]]; then
    _upgrade_go_binary
    echo "Skipped upgrading binary. source is now paged."
else
    echo "No custom ~/Sdk/go/ detected.  Using system installed version."
fi
unset _upgrade_go_binary

if [[ ! -x "$(which go)" ]]; then
    echo "Go is not installed. Exiting."
    exit 3
fi

Related

Thermalright FAN PWM

·1 min
TL-C12 PRO # http://thermalright.com/product/tl-c12-pro/ PWM 255 FAN 1901 PWM 240 FAN 1854 PWM 225 FAN 1757 PWM 210 FAN 1668 PWM 195 FAN 1595 PWM 180 FAN 1523 PWM 165 FAN 1454 PWM 150 FAN 1393 PWM 135 FAN 1313 PWM 120 FAN 1236 PWM 105 FAN 1160 PWM 90 FAN 1068 PWM 75 FAN 962 PWM 60 FAN 893 PWM 45 FAN 774 PWM 30 FAN 653 PWM 28 FAN 634 PWM 26 FAN 615 PWM 24 FAN 599 PWM 22 FAN 587 PWM 20 FAN 571 PWM 18 FAN 553 PWM 16 FAN 544 PWM 14 FAN 521 PWM 12 FAN 508 PWM 10 FAN 489 PWM 8 FAN 474 PWM 6 FAN 459 PWM 4 FAN 439 PWM 2 FAN 427 PWM 0 FAN 417 TL-C14X # http://thermalright.com/product/tl-c14x/