#!/bin/bash

if [ "$1" = "-b" ]
then
  /usr/sbin/dmidecode --string bios-version | sed -e 's/-\[//g' | sed -e 's/\]-//g'
elif [ "$1" = "-g" ]
then
 /usr/sbin/dmidecode --string  system-uuid | sed -e 's/-//g'| tr [:upper:] [:lower:]
else
  x=`/usr/sbin/dmidecode --string system-product-name`
  if [ $? -eq 0 ]
  then

   # Handle case where on rack mount VPD is enclosed in bracket
   # VPD returned has the form eServer xSeries  [7315R01]

     echo $x | grep "\[" 2>&1 >/dev/null
     if [ $? -eq 0 ]
     then
       cmodel=`echo $x | cut -d':' -f2 | cut -d'[' -f 2 | cut -d ']' -f 1 | cut -c1-4`

       mtype=`echo $x | cut -d':' -f2 | cut -d'[' -f 2 | cut -d ']' -f 1 | cut -c5-7`
     else
       cmodel=$x
       mtype=""
     fi
     if [ "$1" = "-a" ]
     then
       sn=`/usr/sbin/dmidecode --string system-serial-number`
       echo "$cmodel$mtype*$sn"
     else
       echo "$cmodel$mtype"
     fi 
     exit 0
  else
    exit 1
  fi
fi
