From f232c11de62dda91c8786432373818d8b3614825 Mon Sep 17 00:00:00 2001
From: "Hahn Axel (hahn)" <axel.hahn@unibe.ch>
Date: Thu, 27 Jul 2023 15:56:25 +0200
Subject: [PATCH] shell fixes; update help page

---
 check_fs_writable | 29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)

diff --git a/check_fs_writable b/check_fs_writable
index 881dc75..20c5443 100755
--- a/check_fs_writable
+++ b/check_fs_writable
@@ -8,10 +8,14 @@
 #
 # ----------------------------------------------------------------------
 # 2021-03-23  v0.0  <axel.hahn@iml.unibe.ch>
+# 2023-07-27  v1.2  <axel.hahn@iml.unibe.ch>  shell fixes; update help page
 # ======================================================================
 
 
-. `dirname $0`/inc_pluginfunctions
+. $( dirname $0 )/inc_pluginfunctions
+
+self_APPNAME=$( basename $0 | tr [:lower:] [:upper:] )
+self_APPVERSION=1.2
 
 dirs2test="/tmp /var/tmp"
 out=""
@@ -21,18 +25,25 @@ out=""
 # ----------------------------------------------------------------------
 
 function showHelp(){
+    _self=$(basename $0)
 cat <<EOF
 ______________________________________________________________________
 
-CHECK_FS_READONLY check if filesystem is readonly - v0.0
+$self_APPNAME 
+v$self_APPVERSION
 
 (c) Institute for Medical Education - University of Bern
 Licence: GNU GPL 3
 ______________________________________________________________________
 
+Check if a filesystem is readonly in given directories.
+In each of the given directories a random file will be touched.
+
+The response is critical of one of the directory is not writable
+for the icinga client user.
 
 SYNTAX:
-`basename $0` [directory [more directories]]
+$_self [directory [more directories]]
 
 OPTIONS:
 
@@ -41,9 +52,12 @@ OPTIONS:
 PARAMETERS:
 
     DIRECTORY where to touch a temporary file
+              default directories:
+              $dirs2test
 
 EXAMPLE:
-`basename $0` /tmp /root /var/www
+
+    $_self /tmp /root /var/www
 
 EOF
 }
@@ -73,11 +87,11 @@ test $# -gt 0 && dirs2test="$*"
 for mydir in $dirs2test
 do
   touchfile=$mydir/icinga_touch_testfile__${RANDOM}_${RANDOM}
-  out="$out
+  if ! out="$out
 
 --- touching something into $mydir
-  $( touch $touchfile && ls -l $touchfile && rm -f $touchfile 2>&1 )"
-  if [ $? -ne 0 ]; then
+    $( touch $touchfile 2>&1 && ls -l $touchfile && rm -f $touchfile )"
+  then
     ph.setStatus "critical"
   fi
 done
@@ -86,7 +100,6 @@ done
 # ----- OUTPUT
 
 ph.status "check if filesystem is writable in $dirs2test $out"
-#echo "$out"
 
 
 # ----- CLEANUP AND BYE!
-- 
GitLab