From 69bbf6fafc555e35c8b510adb1df90233099910d Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Fri, 5 Dec 2025 16:33:06 +0100 Subject: [PATCH] support: use $0 in usage text and error messages Signed-off-by: Joachim Wiberg --- src/bin/support | 51 +++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/src/bin/support b/src/bin/support index 29b7e484..5c7f840e 100755 --- a/src/bin/support +++ b/src/bin/support @@ -1,5 +1,9 @@ #!/bin/sh # Support utilities for troubleshooting Infix systems + +# Program name for usage messages (supports being renamed by users) +prognm=$(basename "$0") + # # The collect command gathers system information and outputs a tarball. # Data is collected to /var/lib/support (or $HOME as fallback) and then @@ -9,35 +13,36 @@ # systems that do not yet have this script in the root fileystems. # # 1. Copy this script to the target device's home directory: -# scp support user@device: +# +# scp support user@device: # # 2. SSH to the device and make it executable: -# ssh user@device -# chmod +x ~/support +# +# ssh user@device chmod +x support # # 3. Run the script from your home directory: # -# ~/support collect > support-data.tar.gz +# ./support collect > support-data.tar.gz # # Or directly via SSH from your workstation: # -# ssh user@device '~/support collect' > support-data.tar.gz +# ssh user@device './support collect' > support-data.tar.gz # # Optionally, the output can be encrypted with GPG using a password for # secure transmission to support personnel, see below. # # Examples: -# support collect > support-data.tar.gz -# support collect -s 5 > support-data.tar.gz -# support collect -p > support-data.tar.gz.gpg -# support collect -p mypass > support-data.tar.gz.gpg +# ./support collect > support-data.tar.gz +# ./support collect -s 5 > support-data.tar.gz +# ./support collect -p > support-data.tar.gz.gpg +# ./support collect -p mypass > support-data.tar.gz.gpg # -# ssh user@device support collect > support-data.tar.gz -# ssh user@device support collect -p mypass > support-data.tar.gz.gpg +# ssh user@device ./support collect > support-data.tar.gz +# ssh user@device ./support collect -p mypass > support-data.tar.gz.gpg # # Note, interactive password prompt (-p without argument) may echo characters # over SSH due to local terminal echo. Use -p PASSWORD for remote execution, -# or pipe the password: echo "password" | ssh user@device support collect -p +# or pipe the password: echo "password" | ssh user@device ./support collect -p # meaning you can even: echo "$SECRET_VARIABLE" | ... which in some cases can # come in handy. # @@ -91,7 +96,7 @@ cmd_collect() ;; *) echo "Error: Unknown option '$1'" >&2 - echo "Usage: support collect [--log-sec|-s N] [--password|-p PASSWORD]" >&2 + echo "Usage: $prognm collect [--log-sec|-s N] [--password|-p PASSWORD]" >&2 exit 1 ;; esac @@ -450,7 +455,7 @@ cmd_clean() ;; *) echo "Error: Unknown option '$1'" >&2 - echo "Usage: support clean [--dry-run] [--days N]" >&2 + echo "Usage: $prognm clean [--dry-run] [--days N]" >&2 exit 1 ;; esac @@ -509,7 +514,7 @@ cmd_clean() usage() { - echo "Usage: support [global-options] [options]" + echo "Usage: $prognm [global-options] [options]" echo "" echo "Global options:" echo " -w, --work-dir PATH Use PATH as working directory for collection/cleanup" @@ -531,14 +536,14 @@ usage() echo " -d, --days N Remove directories older than N days (default: 7)" echo "" echo "Examples:" - echo " support collect > support-data.tar.gz" - echo " support collect -p > support-data.tar.gz.gpg" - echo " support collect --password mypass > support-data.tar.gz.gpg" - echo " support --work-dir /tmp/ram collect > support-data.tar.gz" - echo " ssh user@device support collect > support-data.tar.gz" - echo " support clean --dry-run" - echo " support clean --days 30" - echo " support --work-dir /tmp/ram clean" + echo " $prognm collect > support-data.tar.gz" + echo " $prognm collect -p > support-data.tar.gz.gpg" + echo " $prognm collect --password mypass > support-data.tar.gz.gpg" + echo " $prognm --work-dir /tmp/ram collect > support-data.tar.gz" + echo " ssh user@device $prognm collect > support-data.tar.gz" + echo " $prognm clean --dry-run" + echo " $prognm clean --days 30" + echo " $prognm --work-dir /tmp/ram clean" exit 1 }