diff --git a/check_netstat b/check_netstat
index 5a9a7a92d27689a1ec05fcd07f8b4049cf045277..4d38b7ff717cbb31261d27b378a052d747115842 100755
--- a/check_netstat
+++ b/check_netstat
@@ -8,12 +8,50 @@
 #
 # ----------------------------------------------------------------------
 # 2020-07-08  v1.0  <axel.hahn@iml.unibe.ch>
+# 2022-10-25  v1.1  <axel.hahn@unibe.ch>  shell fixes; no tmpfiles; IML look
 # ======================================================================
 
 
-. `dirname $0`/inc_pluginfunctions
+. $(dirname $0)/inc_pluginfunctions
 
+self_APPNAME=$( basename $0 | tr [:lower:] [:upper:] )
+self_APPVERSION=1.1
 
+# ----------------------------------------------------------------------
+# functions
+# ----------------------------------------------------------------------
+
+function showHelp(){
+cat <<EOF
+______________________________________________________________________
+
+$self_APPNAME 
+v$self_APPVERSION
+
+(c) Institute for Medical Education - University of Bern
+Licence: GNU GPL 3
+______________________________________________________________________
+
+Count number of network connections.
+
+SYNTAX:
+$(basename $0) [ -w value -c value -h ]
+
+    -w VALUE       cpu usage warning level  (default: 75)
+    -c VALUE       cpu usage critical level (default: 90)
+    -h or --help   show this help.
+
+PARAMETERS:
+
+    None.
+
+EXAMPLE:
+$(basename $0) -w 60 -c 80 -p 40
+
+If there is no -w and -c then the result is always OK.
+
+EOF
+}
 # ----------------------------------------------------------------------
 # MAIN
 # ----------------------------------------------------------------------
@@ -22,32 +60,28 @@
 ph.require netstat
 
 # --- check param -h
-if [ "$1" = "-h" ]; then
-    echo "
-    usage: $0 [ -w value -c value -h ]
-
-        -w  Warning count  (optional)
-        -c  Critical count (optional; must be larger than warning)
-        -h  this help
-
-    If there is no -w and -c then the result is always OK.
-    "
-    exit 0
-fi
+case "$1" in
+    "--help"|"-h")
+        showHelp
+        exit 0
+        ;;
+    *)
+esac
 
 # --- set optional limits
-typeset -i iWarnLimit=`     ph.getValueWithParam 0 w "$@"`
-typeset -i iCriticalLimit=` ph.getValueWithParam 0 c "$@"`
-
+typeset -i iWarnLimit=$(     ph.getValueWithParam 0 w "$@")
+typeset -i iCriticalLimit=$( ph.getValueWithParam 0 c "$@")
 
 # --- count all connections
-tmpfile1=`mktemp`
-tmpfile=`mktemp`
+typeset -i iTotal=0
+typeset -i iEst=0
+typeset -i iListen=0
+typeset -i iWait=0
 
-(netstat -wltun; netstat -wtun) | awk '{ print $6 }' | grep -E '(ESTABLISHED|LISTEN|TIME_WAIT)' >$tmpfile1
-typeset -i iTotal=`wc -l $tmpfile1 | awk '{ print $1 }'`
+netdata=$( (netstat -wltun; netstat -wtun) | awk '{ print $6 }' | grep -E '(ESTABLISHED|LISTEN|TIME_WAIT)' )
+iTotal=$( echo "$netdata" | wc -l | awk '{ print $1 }')
 
-if [ $iWarnLimit -gt 0 -a $iCriticalLimit -gt 0 ]; then
+if [ $iWarnLimit -gt 0 -a $iCriticalLimit -gt 0 ]; then 
     ph.setStatusByLimit $iTotal $iWarnLimit $iCriticalLimit
 fi 
 
@@ -55,17 +89,20 @@ ph.status "NETSTAT - count of connections: $iTotal"
 
 
 # --- add performance data
-cat $tmpfile1 | sort | uniq -c >$tmpfile
+data2=$( echo "$netdata" | sort | uniq -c )
 # result is something like that:
 #      5 ESTABLISHED
 #     10 LISTEN
 #     77 TIME_WAIT
+echo "$data2"
 
-ph.perfadd "established" "`grep ESTABLISHED $tmpfile | awk '{ print $1 }' `"
-ph.perfadd "listen"      "`grep LISTEN      $tmpfile | awk '{ print $1 }' `"
-ph.perfadd "time-wait"   "`grep TIME_WAIT   $tmpfile | awk '{ print $1 }' `"
+iEst=$(    echo "$data2" | grep ESTABLISHED | awk '{ print $1 }' )
+iListen=$( echo "$data2" | grep LISTEN      | awk '{ print $1 }' )
+iWait=$(   echo "$data2" | grep TIME_WAIT   | awk '{ print $1 }' )
 
+ph.perfadd "established" "$iEst"
+ph.perfadd "listen"      "$iListen"
+ph.perfadd "time-wait"   "$iWait"
 
 # --- bye
-rm -f $tmpfile $tmpfile1
 ph.exit