X-Git-Url: https://zdv2.bktei.com/gitweb/BK-2020-03.git/blobdiff_plain/3d2d59eed9b29a3a1cdbf66c69ceba5b6ce6b45f..303570f0a60eac29e3f7b88b4855a18102fadac6:/unitproc/bktemp-checkAppFileDir?ds=inline diff --git a/unitproc/bktemp-checkAppFileDir b/unitproc/bktemp-checkAppFileDir index e21efb9..d2f58d2 100644 --- a/unitproc/bktemp-checkAppFileDir +++ b/unitproc/bktemp-checkAppFileDir @@ -2,10 +2,11 @@ # Desc: Checks that apps, files, or dirs exist. #==BEGIN Define script parameters== +#===BEGIN Define variables=== declare -Ag appRollCall # Associative array for storing app status declare -Ag fileRollCall # Associative array for storing file status declare -Ag dirRollCall # Associative array for storing dir status -#==END Define script parameters== +#===END Define variables=== #===BEGIN Declare local script functions=== checkapp() { @@ -64,16 +65,18 @@ checkfile() { checkdir() { # Desc: If arg is a dir path, save result in assoc array 'dirRollCall' # Usage: checkdir arg1 arg2 arg3 ... - # Version 0.1.1 + # Version 0.1.2 # Input: global assoc. array 'dirRollCall' # Output: adds/updates key(value) to global assoc array 'dirRollCall'; - # Output: returns 0 if app found, 1 otherwise + # Output: returns 0 if all args are dirs; 1 otherwise # Depends: Bash 5.0.3 local returnState #===Process Args=== for arg in "$@"; do - if [ -d "$arg" ]; then + if [ -z "$arg" ]; then + dirRollCall["(Unspecified Dirname(s))"]="false"; returnState="false"; + elif [ -d "$arg" ]; then dirRollCall["$arg"]="true"; if ! [ "$returnState" = "false" ]; then returnState="true"; fi else @@ -91,13 +94,14 @@ checkdir() { displayMissing() { # Desc: Displays missing apps, files, and dirs # Usage: displayMissing - # Version 0.1.1 + # Version 1.0.0 # Input: associative arrays: appRollCall, fileRollCall, dirRollCall # Output: stderr: messages indicating missing apps, file, or dirs + # Output: returns exit code 0 if nothing missing; 1 otherwise # Depends: bash 5, checkAppFileDir() local missingApps value appMissing missingFiles fileMissing local missingDirs dirMissing - + #==BEGIN Display errors== #===BEGIN Display Missing Apps=== missingApps="Missing apps :"; @@ -151,6 +155,13 @@ displayMissing() { #===END Display Missing Directories=== #==END Display errors== + #==BEGIN Determine function return code=== + if [ "$appMissing" == "true" ] || [ "$fileMissing" == "true" ] || [ "$dirMissing" == "true" ]; then + return 1; + else + return 0; + fi + #==END Determine function return code=== } # Display missing apps, files, dirs #===END Declare local script functions=== @@ -159,9 +170,16 @@ displayMissing() { #==BEGIN sample code== if checkapp cat; then echo "cat found."; fi; if checkapp gpg; then echo "gpg found."; fi; +if displayMissing 1>/dev/null 2>&1; then + echo "Nothing missing so far..."; +fi; + if checkapp emaaaacs; then echo "emaaaacs found."; fi; sleep 1; -displayMissing; +if ! displayMissing 1>/dev/null 2>&1; then + echo "Something is missing!"; + displayMissing; +fi; #==END sample code== # Author: Steven Baltaktei Sandoval