My script is below and it all works well and fine, however I need to have checks put in for erroneous user input during the smbldap-passwd functions and the ldapadd functions.

I've figured out a statement that will look at the exit status of the command and it will remove the user that was added in the previous step and exit but I can't figure out how to put these if statements into my existing script without breaking it. Yes, I'm a new shell scripter so any help will be greatly appreciated. Thanks

/opt/IDEALX/sbin/smbldap-passwd $USERNAME
if [ $? -ne 0 ] ; then
echo exiting!!!!
/opt/IDEALX/sbin/smbldap-userdel -r $USERNAME




Exisiting script:

#!/bin/bash -x
TMPFILE=/db/backups/tmp-expire.ldif
TMPFILE2=/db/backups/tmp-expire-ou.ldif
TMPFILE3=/db/backups/variable3-ou.ldif
TMPFILE4=/db/backups/variable4-ou.ldif

echo Please enter the username you would like to add to LDAP!

read USERNAME

if getent passwd | grep -wq $USERNAME

then
echo $USERNAME already exists in the LDAP database!
exit
fi

echo Please enter the menu group to associate with this account!
sleep 1

echo "(guser1,guser2,gsuer3,guser4,guser5,guser6,guser7 ,guser8,guser9,gadmin,gsuper)"

read GUSER

if [[ "$GUSER" = guser* || "$GUSER" = "gadmin" || "$GUSER" = "gsuper" ]]; then

echo Which LDAP organizational container do you want to add the user to?
else
echo You entered an invalid group!!
exit
fi

sleep 1

echo "(EXAMPLE1,example2,Default)"
sleep 1
echo If you are unsure please enter Default for the LDAP organizational container.

read organization

if [[ "$organization" = "EXAMPLE1" || "$organization" = "example2" ]]; then

echo Please assign a role to this account.

elif [ "$organization" = "Default" ]; then
/opt/IDEALX/sbin/smbldap-useradd -G 1513,$GUSER,26 -s /bin/ksh -d /home/operations/$USERNAME -a $USERNAME
sleep 1

echo Setting the inital LDAP password for $USERNAME.
sleep 1

/opt/IDEALX/sbin/smbldap-passwd $USERNAME
sleep 1

echo Enforcing password expiration upon first login!!!!!!

cat $TMPFILE | sed "s/USER/$USERNAME/g" /db/backups/tmp-expire.ldif > /db/backups/variable3.ldif
ldapadd -f /db/backups/variable3.ldif -x -D cn=root,dc=mdvcat,dc=lott -W

exit
else
echo You entered an invalid Organizational Unit!!
exit
fi

sleep 1
echo "(admins,network,developers,vendors)"

read role

if [[ "$role" = "admins" || "$role" = "network" || "$role" = "developers" || "$role" = "vendors" ]]; then


/opt/IDEALX/sbin/smbldap-useradd -G 1513,$GUSER,26 -o $role,$organization -s /bin/ksh -d /home/operations/$USERNAME -a $USERNAME

sleep 1

echo Setting the inital LDAP password for $USERNAME.

sleep 1

/opt/IDEALX/sbin/smbldap-passwd $USERNAME

sleep 1

echo Enforcing password expiration upon first login!!!!!!

cat $TMPFILE2 | sed -e "s/USER/$USERNAME/g" /db/backups/tmp-expire-ou.ldif > /db/backups/variable3-ou.ldif
cat $TMPFILE3 | sed "s/role/$role/g" /db/backups/variable3-ou.ldif > /db/backups/variable4-ou.ldif
cat $TMPFILE4 | sed "s/organization/$organization/g" /db/backups/variable4-ou.ldif > /db/backups/variable5-ou.ldif

ldapadd -f /db/backups/variable5-ou.ldif -x -D cn=root,dc=mdvcat,dc=lott -W


else
echo You entered an invalid role!!!
exit
fi