#!/bin/sh set -e # CLI usage: # ./install_uptimr_worker.sh [--user USER] [--password PASS] [--token TOKEN] [--node NODE] # Parse CLI arguments while [ "$#" -gt 0 ]; do case "$1" in --user) USER="$2"; shift 2 ;; --password) PASS="$2"; shift 2 ;; --token) TOKEN="$2"; shift 2 ;; --node) NODE="$2"; shift 2 ;; --help) echo "Usage: $0 [--user USER] [--password PASS] [--token TOKEN] [--node NODE]"; exit 0 ;; *) echo "Unknown argument: $1"; exit 1 ;; esac done # Prompt for missing values if [ -z "$USER" ]; then printf 'Username: ' read USER fi if [ -z "$PASS" ]; then # silent password input stty -echo printf 'Password: ' read PASS stty echo printf '\n' fi if [ -z "$TOKEN" ]; then printf 'Token: ' read TOKEN fi if [ -z "$NODE" ]; then printf 'Node ID: ' read NODE fi # Use sudo if not root SUDO="" if [ "$(id -u)" -ne 0 ]; then SUDO=sudo fi do_install() { # Create a temporary .netrc file for authentication NETRC="$(mktemp)" chmod 600 "$NETRC" cat > "$NETRC" <