diff options
Diffstat (limited to 'include/lib.sh')
-rw-r--r-- | include/lib.sh | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/include/lib.sh b/include/lib.sh index 6c831795..7c4d71ea 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -53,8 +53,10 @@ setvars() fi val="$1" shift 1 - for var in "$@"; do - _setvars="$var=\"$val\"; $_setvars" + while true; do + [ $# -lt 1 ] && break + _setvars="$1=\"$val\"; $_setvars" + shift 1 done printf "%s\n" "${_setvars% }" } @@ -69,9 +71,11 @@ setcfg() chkvars() { - for var in "$@"; do - eval "[ -n \"\${$var+x}\" ] || err \"$var unset\"" - eval "[ -n \"\$$var\" ] || err \"$var unset\"" + while true; do + [ $# -lt 1 ] && break + eval "[ -n \"\${$1+x}\" ] || err \"$1 unset\"" + eval "[ -n \"\$$1\" ] || err \"$1 unset\"" + shift 1 done; : } @@ -106,9 +110,9 @@ fx_() dx_() { - [ -f "$2" ] && while read -r fx; do - $1 "$fx" || return 1 - done < "$2"; : + [ ! -f "$2" ] || while read -r fx; do + $1 "$fx" || return 1; : + done < "$2" || err "dx_ $*: cannot read '$2'"; : } x_() |