68 lines
1.6 KiB
Bash
Executable File
68 lines
1.6 KiB
Bash
Executable File
#!/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
|