#!/bin/bash
# install hrp with one shell command
# curl -sL https://raw.githubusercontent.com/httprunner/hrp/main/cli/scripts/install.sh | bash
set -e
function echoError() {
echo -e "\033[31m✘ $1\033[0m" # red
}
export -f echoError
function echoInfo() {
echo -e "\033[32m✔ $1\033[0m" # green
}
export -f echoInfo
function echoWarn() {
echo -e "\033[33m! $1\033[0m" # yellow
}
export -f echoError
function get_latest_version() {
#
Release v0.4.0 · httprunner/hrp · GitHub
curl -sL https://github.com/httprunner/hrp/releases/latest | grep 'Release' | cut -d" " -f4
}
function get_arch() {
arch=$(uname -m)
if [ "$arch" == "x86_64" ]; then
arch="amd64"
fi
echo "$arch"
}
function main() {
echoInfo "Detect target hrp package..."
version=$(get_latest_version)
echo "Latest version: $version"
os=$(uname -s)
echo "Current OS: $os"
arch=$(get_arch)
echo "Current ARCH: $arch"
pkg="hrp-$version-$os-$arch.tar.gz"
url="https://github.com/httprunner/hrp/releases/download/$version/$pkg"
echo "Selected package: $url"
echo
echoInfo "Created temp dir..."
tmp_dir=$(mktemp -d -t hrp)
echo "$tmp_dir"
cd "$tmp_dir"
echo
echoInfo "Downloading..."
curl -L $url -o "$pkg"
echo
echoInfo "Extracting..."
tar -zxf "$pkg"
ls -lh
echo
echoInfo "Installing..."
if hrp -v > /dev/null; then
echoWarn "$(hrp -v) exists, remove first !!!"
echo "$ rm -rf $(which hrp)"
rm -rf "$(which hrp)"
fi
echo "chmod +x hrp && mv hrp /usr/local/bin/"
chmod +x hrp
mv hrp /usr/local/bin/
echo
echoInfo "Check installation..."
echo "$ which hrp"
which hrp
echo "$ hrp -v"
hrp -v
echo "$ hrp -h"
hrp -h
}
main