39 lines
864 B
Bash
Executable File
39 lines
864 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
source "${BOOTSTRAP_LIB}/helpers"
|
|
|
|
VERSION="0.7.6"
|
|
INSTALL_DIR="${HOME}/.local/bin"
|
|
INSTALLED_VERSION=""
|
|
|
|
if [[ -x "$(command -v sd)" ]]; then
|
|
INSTALLED_VERSION="$(sd --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')"
|
|
fi
|
|
|
|
if [[ "$VERSION" == "$INSTALLED_VERSION" ]]; then
|
|
echo "sd version ${VERSION} already installed."
|
|
exit 0
|
|
fi
|
|
|
|
echo "Installing sd version ${VERSION}..."
|
|
|
|
URL="https://github.com/chmln/sd/releases/download/v${VERSION}/sd-v${VERSION}-x86_64-unknown-linux-gnu"
|
|
|
|
echo "Downloading from ${URL}..."
|
|
TARGET="$(download "$URL")"
|
|
|
|
if [[ -f "${INSTALL_DIR}/sd" ]]; then
|
|
echo "Removing old sd command..."
|
|
rm -f "${INSTALL_DIR}/sd"
|
|
fi
|
|
|
|
echo "Installing sd command to ${INSTALL_DIR}..."
|
|
mkdir -p "${INSTALL_DIR}"
|
|
cp "${TARGET}" "${INSTALL_DIR}/sd"
|
|
chmod +x "${INSTALL_DIR}/sd"
|
|
|
|
echo "Removing ${TARGET}..."
|
|
rm -f "${TARGET}"
|