#!/usr/bin/env bash ##makedesc: Install postman (latest) set -eo pipefail installed() { command -v "$1" >/dev/null 2>&1; } download() { if installed wget; then wget -q --show-progress "$1" -O "$2" else curl -fsSL "$1" -o "$2" fi } unpack_targz() { tar -xzvf "$1" -C "$2" } install() { if [ "$(uname -s)" = "Darwin" ]; then if installed brew; then brew install --cask postman else echo "ERROR: Install Homebrew first." >&2 exit 1 fi return fi echo echo "===============================================" echo "Installing postman" echo "===============================================" echo # https://learning.postman.com/docs/getting-started/installation-and-updates/#installing-postman-on-linux mkdir -p "$HOME/install" "$HOME/.local/bin" "$HOME/.local/share/applications" download "https://dl.pstmn.io/download/latest/linux64" "$HOME/install/postman.tar.gz" unpack_targz "$HOME/install/postman.tar.gz" "$HOME/install" ln -sf "$HOME/install/Postman/Postman" "$HOME/.local/bin/postman" cat << EOF > "$HOME/.local/share/applications/Postman.desktop" [Desktop Entry] Name=Postman Exec=$HOME/.local/bin/postman %U Icon=$HOME/install/Postman/app/resources/app/assets/icon.png Categories=Development,Network Terminal=false Type=Application Encoding=UTF-8 EOF if command -v update-desktop-database >/dev/null 2>&1; then sudo update-desktop-database fi echo echo "Finish!" echo } case "$1" in *) install ;; esac