Doubt on StartDialer.sh code

&- &daemon_pid=$!;

the above was used code in startDialer.sh.i couldn’t understand the meaning of the above statement.what does it does?what is the meaning of $! means.
the total code is like below:-

Start the Dialer

    if [ -f /outbound/bin/mydialer.pid ]
    then
       echo "Dialer Already Running"
       exit
    else
            echo -n "Starting OBD Dialer... "
            export CLASSPATH=/outbound/lib/*
            /opt/java/jdk1.6.0_04/bin/java -jar /outbound/lib/AsteriskProxy.jar > /outbound/bin/startDialer.log 2>&1 <&- &
            daemon_pid=$!;
            ps -p $daemon_pid >/dev/null 2>&1
            if [ $? = 0 ]
            then
              echo "Dialer Daemon is started"
              echo ${daemon_pid} > /outbound/bin/mydialer.pid
            else
              echo "Dialer Daemeon did not start."
            fi
    fi

[quote=“kailashchandra”]&- &daemon_pid=$!;

the above was used code in startDialer.sh.i couldn’t understand the meaning of the above statement.what does it does?what is the meaning of $! means.
the total code is like below:-

Start the Dialer

    if [ -f /outbound/bin/mydialer.pid ]
    then
       echo "Dialer Already Running"
       exit
    else
            echo -n "Starting OBD Dialer... "
            export CLASSPATH=/outbound/lib/*
            /opt/java/jdk1.6.0_04/bin/java -jar /outbound/lib/AsteriskProxy.jar > /outbound/bin/startDialer.log 2>&1 <&- &
            daemon_pid=$!;
            ps -p $daemon_pid >/dev/null 2>&1
            if [ $? = 0 ]
            then
              echo "Dialer Daemon is started"
              echo ${daemon_pid} > /outbound/bin/mydialer.pid
            else
              echo "Dialer Daemeon did not start."
            fi
    fi[/quote]

Run this with bash (put #!/bin/bash) at the top

-bk