second commit

This commit is contained in:
pvincent
2024-02-22 09:56:25 +04:00
parent 35cb36cab6
commit 248193a773
21 changed files with 1865 additions and 2 deletions
+46
View File
@@ -0,0 +1,46 @@
#!/bin/bash
##
# return 0 (true) if array (passed by name) contains element
# usage:
# ARRAY = ( a b c )
# containsElement ARRAY 'a' => 0
containsElement() {
local -a 'arraykeys=("${!'"$1"'[@]}")'
if $(isArray $1); then
for index in ${arraykeys[*]}; do
current=$1"[$index]"
[[ "${!current}" == "$2" ]] && return 0 # found
done
return 1 # not found
else
echo >&2 "ERROR: $1 not an array!"
return 2 # not an array
fi
}
isArray() {
[[ "$(declare -p $1 2>/dev/null)" =~ "declare -a" ]] && return 0 # is an array
return 1 # not an array
}
##
#
askConfirmation() {
case "$1" in
y | Y | yes | YES)
QUESTION="(Y/n)?"
DEFAULT=0
;;
*)
QUESTION="(y/N)?"
DEFAULT=1
;;
esac
read -p "$QUESTION : " choice
case "$choice" in
y | Y | yes | YES) return 0 ;; #true
n | no | N | NO) return 1 ;; #false
*) return $DEFAULT ;;
esac
}