From dcd6806e72eb1a8fede68d89ed6bf40690311672 Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Fri, 6 Feb 2026 07:13:36 +0100 Subject: [PATCH] updated inline help added check if gnuplot is installed correctly. --- bin/plot_cpu_temp.sh | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/bin/plot_cpu_temp.sh b/bin/plot_cpu_temp.sh index 4c11225..0376847 100755 --- a/bin/plot_cpu_temp.sh +++ b/bin/plot_cpu_temp.sh @@ -1,15 +1,36 @@ #!/bin/bash - +VERSION="1.00" usage() { local name=${0##*/} cat <<-EOF - Usage: ${name} [-h || --help] + Version: ${VERSION} + Usage: ${name} + -h, --help display this help + -l, --logfile <logfile> logfile with temperature data to be plotted + -o, --output <output.png> output file the plotted chart should be written to + -c, --color <colorname> color in which the ghraph should be plotted ('red','blue'dtc.) defaults to 'red' + -t, --title <title> title of the graph + -v, --verbose verbose mode (not implemented yet) - Generates graph of the <logfile> and writes it to <outfile> + Plots the graph of the <logfile> and writes it to <outfile> + <logfile> must contain + timestamp temperature + in seperate lines + EOF } +check() { +if ! command -v gnuplot >/dev/null 2>&1; then + echo "gnuplot is not installed." + echo "Please use" + echo " sudo apt install -y gnuplot" + echo "and try again" + exit 5 +fi +} + verbose=false COLOR='red' PADDING=5 @@ -19,10 +40,8 @@ if [[ $? -ne 0 ]]; then exit 1; fi -echo "VALID_ARGS=${VALID_ARGS}" eval set -- "$VALID_ARGS" while [ : ]; do -# echo "aktueller Parameter: ${1}" case "$1" in -h | --help) usage @@ -35,19 +54,15 @@ while [ : ]; do shift 2 ;; -o | --output) - echo "1: ${1}, 2:${2},3:${3}" OUTFILE="${2}" - echo "OUTFILE=${OUTFILE}" shift 2 ;; -c | --color) COLOR="${2}" - echo "COLOR=${COLOR}" shift 2 ;; -t | --title) TITLE="${2}" - echo "TITLE=${TITLE}" shift 2 ;; -v | --verbose) @@ -59,7 +74,7 @@ while [ : ]; do ;; esac done - +check #determine max and min values read YMIN YMAX < <( awk '