Shell Scripting - Debugging Shell Scripts

There are various ways of debugging shell scripts, i found these useful when debugging UNIX/LINUX related installer issues.


  1. Add the line set -vx in the beginning of the script. The shell script will then start debug output. You can disable the debug message by adding set +vx from that point onwards debug messages will be disabled
  2. Or doing sh -x shellscriptfilename (best option out the lot)
  3. This is similar to the first one except it will be applicable for the complete shell script. By adding
    #!/bin/sh -vx
    to the beginning of the shell script

Labels: , ,

Posted by - at 2:36 am | 0 comments read on

Shell Script - Memory Watch for UNIX Platforms

Simple memory profile script for UNIX/LINUX platforms.


#!bin/sh

PROCCHECKDELAY=1
RUNCHECKDELAY=2
PAGEROWS=80
PROCNAME=$1
PROCID=

if [ $# -ne 1 ]
then
echo give program name to watch;
exit 1;
fi

stat_process()
{
PROCID=
_mypid=
while [ true ]
do
_mypid=`ps -e 2>/dev/null|grep $1|head -n1|awk '{ print $1 }'`;
if [ -z "$_mypid" ]
then
echo "$1 is not running"
else
break;
fi
echo "recheck after $RUNCHECKDELAY seconds";
sleep $RUNCHECKDELAY;
done
PROCID=$_mypid;
}

i=$PAGEROWS;
while true;
do
stat_process $PROCNAME;
if [ $i -eq $PAGEROWS ] ;
then
i=0;
UNIX95= ps -p $PROCID -o vsz,pid,ruser,args 2>/dev/null
else
UNIX95= ps -p $PROCID -o vsz,pid,ruser,args 2>/dev/null|tail +2
fi
if [ ! -z "$PROCID" ]
then
i=`expr $i + 1`;
fi
sleep $PROCCHECKDELAY;
done;


please post your valuable comments and suggestions.

Labels: , , , , ,

Posted by - at 3:17 pm | 0 comments read on

Archives

Links