A bash script for installing a specific Go version on Linux (AMD64).
- Expects a numeric version as a parameter (e.g. 1.21.1).
- Downloads & extracts the Go archive under /usr/local/lib/go$VERSION
- Creates a symlink for ./bin/go under /usr/local/bin/go
#!/usr/bin/env bash
declare VERSION="${1}"
declare PROGRAM="go${VERSION}"
declare ARCHIVE="${PROGRAM}.linux-amd64.tar.gz"
declare LIB_DIR="/usr/local/lib"
declare BIN_DIR="/usr/local/bin"
declare INSTALL="${LIB_DIR}/${PROGRAM}"
declare SYMLINK="${BIN_DIR}/go"
if [[ ! -d "${INSTALL}" ]]; then
wget --timestamping "https://go.dev/dl/${ARCHIVE}"
if [[ ! -f "${ARCHIVE}" ]]; then
echo "File not found: ${ARCHIVE}"
exit 1
fi
sudo tar -xvf "${ARCHIVE}"
sudo mv -f go "${PROGRAM}"
sudo mv -f "${PROGRAM}" "${LIB_DIR}"
else
echo "${INSTALL} already exists"
fi
sudo rm -f "${SYMLINK}"
sudo ln -s "${LIB_DIR}/${PROGRAM}/bin/go" "${SYMLINK}"
No comments:
Post a Comment