|
|
@ -0,0 +1,35 @@ |
|
|
|
|
|
|
|
## |
|
|
|
# return 0 (true) if array (passed by name) contains element |
|
|
|
# usage: |
|
|
|
# ARRAY = ( a b c ) |
|
|
|
# containsElement ARRAY 'a' => 0 |
|
|
|
containsElement () { |
|
|
|
local -a 'arraykeys=("${!'"$1"'[@]}")' |
|
|
|
for index in ${arraykeys[*]}; do |
|
|
|
current=$1"[$index]" |
|
|
|
[[ "${!current}" == "$2" ]] && return 0; # found |
|
|
|
done |
|
|
|
return 1; # not found |
|
|
|
} |
|
|
|
|
|
|
|
## |
|
|
|
# |
|
|
|
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 |
|
|
|
} |