Files
fx-serverless/scripts/install.sh
Minghe ddff53fff2 improve installation script (#304)
* improve installation script and enable installation test in CI
* disable mac installation check
2019-10-10 14:31:58 +08:00

67 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
has() {
type "$1" > /dev/null 2>&1
}
get_package_url() {
platform=""
if [ "$(uname)" == "Darwin" ]; then
platform="macOS"
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
platform="Tux"
elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW32_NT" ]; then
platform="windows"
elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ]; then
platform="windows"
fi
curl https://api.github.com/repos/metrue/fx/releases/latest | grep browser_download_url | awk -F'"' '{print $4}' | grep ${platform}
}
download_and_install() {
url=$(get_package_url)
tarFile="fx.tar.gz"
targetFile=$(pwd)
userid=$(id -u)
if [ "$userid" != "0" ]; then
tarFile="$(pwd)/${tarFile}"
else
tarFile="/tmp/${tarFile}"
targetFile="/usr/local/bin"
fi
if [ -e $tarFile ]; then
rm -rf $tarFile
fi
echo "Downloading fx from $url"
curl -sSLf $url --output $tarFile
if [ "$?" == "0" ]; then
echo "Download complete, saved to $tarFile"
fi
echo "Installing fx to ${targetFile}"
tar -xvzf ${tarFile} --exclude=*.md -C ${targetFile}
echo "fx installed successfully at ${targetFile}"
${targetFile}/fx -v
echo "Cleaning up ${tarFile}"
rm -rf ${tarFile}
}
main() {
if has "curl";then
download_and_install
else
echo "You need cURL to use this script"
exit 1
fi
}
# main
main