## # 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 }