#!/bin/ksh

function megaconv {
  NUM=`echo "scale=2; $1/1048576" | bc`
  $ECHO -n $NUM
}

OS=`uname`
if [ "$OS" = "SunOS" ]; then
  ECHO=/usr/ucb/echo
  CPUSPD=`/usr/sbin/psrinfo -v | grep operates | head -n 1 | sed 's/,//' | awk '{print $6}'`
  CPUNUM=`/usr/sbin/psrinfo -v | grep ^Status | wc -l | awk '{print $1}'`
  RAM=`/usr/sbin/prtconf | grep Memory | awk -F': ' '{print $2}' | awk '{print $1}'`
  TT=`/usr/ucb/df | grep ^/dev | awk '{print $2}' | xargs echo | sed 's/ /+/g' | bc`
  TU=`/usr/ucb/df | grep ^/dev | awk '{print $3}' | xargs echo | sed 's/ /+/g' | bc`
  TA=`/usr/ucb/df | grep ^/dev | awk '{print $4}' | xargs echo | sed 's/ /+/g' | bc`
elif [ "$OS" = "Linux" ]; then
  ECHO=/bin/echo
  grep "^cycle freq" /proc/cpuinfo >/dev/null 2>&1
  if [ "$?" = "0" ]; then
    CPUSPD=$(echo `grep "^cycle freq" /proc/cpuinfo | awk -F: '{print $2, "/", "1000000"}' | head -n 1 | bc`)
  elif grep "^clock" /proc/cpuinfo >/dev/null 2>&1; then
    CPUSPD=$(echo `grep "^clock" /proc/cpuinfo | awk -F: '{print $2}'`)
  else
    CPUSPD=$(echo `grep "^cpu MHz" /proc/cpuinfo | awk -F: '{print $2}'| head -n 1`)
  fi
  CPUNUM=$(echo `mpstat -P ALL | awk '{print $3}' | egrep '^[[:digit:]]+$' | wc -l`)
  RAM=`cat /proc/meminfo | grep ^MemTotal | awk -F: '{print $2}' | awk '{print $1, "/", "1024"}' | bc`
  TT=`/bin/df -k | grep ^/dev | awk '{print $2}' | xargs echo | sed 's/ /+/g' | bc`
  TU=`/bin/df -k | grep ^/dev | awk '{print $3}' | xargs echo | sed 's/ /+/g' | bc`
  TA=`/bin/df -k | grep ^/dev | awk '{print $4}' | xargs echo | sed 's/ /+/g' | bc`
elif [ "$OS" = "NetBSD" ]; then
  ECHO=echo
  MODEL=$(echo `sysctl hw.model | awk -F= '{print $2}'`)
  CPUSPD=`dmesg | grep "^cpu.: $MODEL" | head -n 1 | awk -F, '{print $2}' | awk '{print $1}'`
  CPUNUM=$(echo `sysctl hw.ncpu | awk -F= '{print $2}'`)
  RAM=`sysctl hw.physmem | awk -F= '{print $2, "/", "1048576"}' | bc`
  TT=`/bin/df -k | grep ^/dev | awk '{print $2}' | xargs echo | sed 's/ /+/g' | bc`
  TU=`/bin/df -k | grep ^/dev | awk '{print $3}' | xargs echo | sed 's/ /+/g' | bc`
  TA=`/bin/df -k | grep ^/dev | awk '{print $4}' | xargs echo | sed 's/ /+/g' | bc`
fi

$ECHO
$ECHO Welcome to $(hostname)
$ECHO

$ECHO "CPU: $CPUSPD MHz * $CPUNUM"

$ECHO "RAM: $RAM MB"

$ECHO -n "Disk: "
megaconv $TT; $ECHO -n " GB total, "
megaconv $TU; $ECHO -n " GB used, "
megaconv $TA; $ECHO " GB avail"


