diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 7023b21f..d9ae7b20 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -3,6 +3,7 @@
## v0.5.0 (2022-01-06)
- feat: support creating and calling custom functions with [go plugin](https://pkg.go.dev/plugin)
+- feat: install hrp with one shell command
## v0.4.0 (2022-01-05)
diff --git a/hrp/scripts/install.sh b/hrp/scripts/install.sh
new file mode 100644
index 00000000..038e0493
--- /dev/null
+++ b/hrp/scripts/install.sh
@@ -0,0 +1,84 @@
+#!/bin/bash
+# install hrp with one shell command
+# curl -sL https://raw.githubusercontent.com/httprunner/hrp/main/hrp/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