Files
cocommit/installer/install.sh

68 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# Determine the OS and architecture
# Set up a cleanup function to be triggered upon script exit
__cleanup ()
{
rm "cocommit.tar.gz" 2>/dev/null
rm author.txt 2>/dev/null
if [ -n "$file" ]; then
rm $file 2>/dev/null
fi
}
trap __cleanup EXIT
OS=$(uname -s)
ARCH=$(uname -m)
file=""
url="https://github.com/Slug-Boi/cocommit/releases/latest/download/"
# Set the download URL based on the OS and architecture
if [ "$OS" == "Linux" ]; then
URL="${url}cocommit-linux.tar.gz"
file="cocommit-linux"
elif [ "$OS" == "Darwin" ]; then
if [ "$ARCH" == "x86_64" ]; then
URL="${url}cocommit-darwin-x86_64.tar.gz"
file="cocommit-darwin"
else
URL="${url}cocommit-darwin-aarch64.tar.gz"
file="cocommit-darwin-aarch64"
fi
else
echo "Unsupported OS: $OS"
exit 1
fi
# Download and run the script
curl -L -o cocommit.tar.gz $URL && \
tar -xvzf cocommit.tar.gz && \
rm cocommit.tar.gz && rm author.txt && \
chmod +x $file && ./$file -v
if [ $? -ne 0 ]; then
echo "Failed to extract the binary"
exit 1
fi
# Move the binary to the current directory
read -p "Enter the directory to move the binary to (default: /usr/local/bin/cocommit): " target_dir
target_dir=${target_dir:-/usr/local/bin/cocommit}
if [ ! -d "$(dirname "$target_dir")" ]; then
echo "Directory does not exist: $(dirname "$target_dir")"
exit 1
fi
sudo mv $file "$target_dir"
if [ $? -ne 0 ]; then
echo "Failed to move the binary to $target_dir"
exit 1
fi
echo "Binary moved to $target_dir successfully"