add_parameter (version 0.0)

You can also look at:
#! /usr/bin/ksh

###########################################################################
#
# 
# SYNTAX: add_parameter parfile param value type comment
#
# DESCRIPTION: This utility sets a parameter in a given par file.
# DESCRIPTION: If the parameter does not exist, it is created
#
# VERSION: 0.0
#
# HISTORY:
#
##############################################################################

parfile=$1
param=$2
value=$3
type=$4
comment=$5

if [ ! -w $parfile ]; then
     $UTIL/exception $0 3 "No write permission for $parfile"
     exit 3
fi

dum=$(grep "^${param}," $parfile)
if [ -n "$dum" ]; then
     ##########################
     # existing parameter
     ##########################
     $FTOOLS/pset ./${parfile} ${param}="$value" >stdout${$}.log \
                                                2>stderr${$}.log 

     $UTIL/ftool_test pset $? $0 1 stdout${$}.log stderr${$}.log

else
     ###############################
     # need to add a new parameter
     ###############################

     case "$type" in

     s) 
          #####################################
          # string value - enclose in quotes
          ####################################
          echo "${param},${type},h,\"${value}\",,,\"${comment}\" " >>$parfile
          ;;
     *) 
          #####################################
          # non-string value 
          ####################################
          echo "${param},${type},h,${value},,,\"${comment}\" " >>$parfile
          ;;

     esac

fi




exit 0