Guys, I am new to shell script, and want to learn more about it. i have got one script to report on status of ADSL connection. i can understand half of it (or less then half). can you guys please help me out in this. Here is the script, ------------------------------------------------------------------------------------- CONFIG="$1" if [ -z "$CONFIG" ] ; then get_device [ -z "$CONFIG" ] && CONFIG=/etc/ppp/pppoe.conf fi if [ ! -f "$CONFIG" -o ! -r "$CONFIG" ] ; then echo "$0: Cannot read configuration file '$CONFIG'" >& 2 exit 1 fi . $CONFIG PPPOE_PIDFILE="$PIDFILE.pppoe" PPPD_PIDFILE="$PIDFILE.pppd" if [ "$DEMAND" != "no" ] ; then echo "Note: You have enabled demand-connection; adsl-status may be inaccurate." fi # If no PPPOE_PIDFILE, connection is down, unless we're using the Linux plugin if [ "$LINUX_PLUGIN" = "" ] ; then if [ ! -r "$PPPOE_PIDFILE" ] ; then echo "adsl-status: Link is down (can't read pppoe PID file $PPPOE_PIDFILE)" exit 1 fi fi # If no PPPD_PIDFILE, something fishy! if [ ! -r "$PPPD_PIDFILE" ] ; then echo "adsl-status: Link is down (can't read pppd PID file $PPPD_PIDFILE)" exit 1 fi PPPD_PID=`cat "$PPPD_PIDFILE"` # Sigh. Some versions of pppd put PID files in /var/run; others put them # in /etc/ppp. Since it's too messy to figure out what pppd does, we # try both locations. for i in /etc/ppp/ppp*.pid /var/run/ppp*.pid ; do if [ -r $i ] ; then PID=`cat $i` if [ "$PID" = "$PPPD_PID" ] ; then IF=`basename $i .pid` netstat -rn | grep " ${IF}\$" > /dev/null # /sbin/ifconfig $IF | grep "UP.*POINTOPOINT" > /dev/null if [ "$?" != "0" ] ; then echo "adsl-status: Link is attached to $IF, but $IF is down" exit 1 fi echo "adsl-status: Link is up and running on interface $IF" /sbin/ifconfig $IF exit 0 fi fi done echo "adsl-status: Link is down -- could not find interface corresponding to" echo "pppd pid $PPPD_PID" exit 1 ------------------------------------------------------------------------------------- If possible then please explain each line of the script. that what it does. Any reply would be highly appreciated.
explain shell script You say you understand some of it. It may be helpful if you began trying to explain the portions you already know. You might then get some help from those of us who are like you, that is from those who know a little and would like to learn it with you.