The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #1 (permalink)  
Old 11-18-2008
potro's Avatar
potro potro is offline
Registered User
  
 

Join Date: Mar 2008
Posts: 61
Solaris request script

Hi,

In the request script I need to read user input and store to variable to use it later in postinstall script.

e.g.

Code:
LOGDIR=/app/log

    echo "Please type the Log Directory : (current value: $LOGDIR)"
    read LOGDIR

When asked, if the user enters a value the parameter is ok and I can use it later, but if the user presses enter then the LOGDIR value is set to "" and doesn't keep it's initial value.

In Linux I use a function

Code:
readDefault()
{
    ARGS=""
    N=1
    LOCALBUF=""
    until  [ $N -eq $# ]
    do
        eval ARG=\${$N}
        ARGS=" $ARGS $ARG"
        N=`expr $N + 1`
    done
    read $ARGS LOCALBUF
    if [ -n "$LOCALBUF" ]
    then
        VARNAME=${!#}
        export $VARNAME=$LOCALBUF
    else
        echo "Using current value."
    fi
}

But in the Solaris request script I get " bad substitution" at line readDefault LOGDIR

Thanks,
Bianca

Last edited by DukeNuke2; 11-18-2008 at 06:48 AM.. Reason: added code tags for better reading