From 4c601277860d4291f2c28f46618ca91708f89dd7 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 3 Feb 2025 11:12:05 +0100 Subject: [PATCH] make local variables local .. to not interfere with variables in the scripts that source these utils. --- logger.sh | 4 ++-- mailer.sh | 6 +++--- math.sh | 17 +++++++++++------ utils.sh | 2 +- valid-ip.sh | 2 +- 5 files changed, 18 insertions(+), 13 deletions(-) diff --git a/logger.sh b/logger.sh index d7cf5d0..72d47b6 100644 --- a/logger.sh +++ b/logger.sh @@ -13,13 +13,13 @@ loggerseparator () { } saferun () { - allcommands="" + local allcommands="" for var in "$@"; do allcommands="$allcommands$var /// " done logger "Enter to run the following command(s): $allcommands" read ok - ret=0 + local ret=0 for var in "$@"; do if [[ $ret -eq 0 ]]; then $var diff --git a/mailer.sh b/mailer.sh index 8e6939d..98ee859 100644 --- a/mailer.sh +++ b/mailer.sh @@ -2,12 +2,12 @@ mailer () { if ! [[ -z "$3" ]]; then - mailfrom="From: $3 " + local mailfrom="From: $3 " fi if ! [[ -z "$4" ]]; then - mailto="$4" + local mailto="$4" elif [[ -z "$mailto" ]]; then - mailto="christian@betz.cc" + local mailto="christian@betz.cc" fi echo -e "$1" | mailx -s "$2" --append="$mailfrom" $mailto &>/dev/null diff --git a/math.sh b/math.sh index 07806dc..005afa6 100644 --- a/math.sh +++ b/math.sh @@ -8,6 +8,11 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # https://unix.stackexchange.com/questions/89712/how-to-convert-floating-point-number-to-integer # xargs: https://stackoverflow.com/questions/19148370/piping-seq-to-printf-for-number-formatting divideint () { + if [ -z $3 ]; then + local scale=2 + else + local scale=$3 + fi bc <<< "scale=$scale; $1/$2" | xargs printf "%.0f\n" } @@ -17,25 +22,25 @@ multiint () { divide () { if [ -z $3 ]; then - scale=2 + local scale=2 else - scale=$3 + local scale=$3 fi bc <<< "scale=$scale; $1/$2" } multiply () { if [ -z $3 ]; then - scale=2 + local scale=2 else - scale=$3 + local scale=$3 fi bc <<< "scale=$scale; $1*$2" } avgoftwo () { - sum=$(bc <<< "$1+$2") - divideint $sum 2 + local sum=$(bc <<< "$1+$2") + divide $sum 2 } max () { diff --git a/utils.sh b/utils.sh index e00057a..cb26078 100644 --- a/utils.sh +++ b/utils.sh @@ -1,7 +1,7 @@ #!/bin/bash isarray() { - var=$1 + local var=$1 declare -p $1 2> /dev/null | grep -q '^declare \-a' && return 0 [[ ${var[0]} -eq ${var[0]} ]] && [[ ${var[1]} -eq ${var[1]} ]] && return 0 || return 1 } diff --git a/valid-ip.sh b/valid-ip.sh index b6f9234..8ff03ff 100644 --- a/valid-ip.sh +++ b/valid-ip.sh @@ -2,7 +2,7 @@ # https://stackoverflow.com/questions/13777387/check-for-ip-validity function validip () { - ip=$1 + local ip=$1 if [ -z $ip ] || ! [[ $ip =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then return 1 else