#!/bin/sh while [ $# -ge 1 ]; do case "$1" in --quick|-q) QUICK=true shift ;; -*) echo "\ Usage: pon [OPTIONS] [provider] [arguments] -q|--quick pppd hangs up after all ip-up scripts are run If pon is invoked without arguments, /etc/ppp/ppp_on_boot file will be run, presuming it exists and is executable. Otherwise, a PPP connection will be started using settings from /etc/ppp/peers/provider. If you specify one argument, a PPP connection will be started using settings from the appropriate file in the /etc/ppp/peers/ directory, and any additional arguments supplied will be passed as extra arguments to pppd. " exit 0 ;; *) break ;; esac done if [ ! -r /etc/ppp/peers/ ]; then echo "Error: only members of the 'dip' group can use this command." exit 1 fi if [ "$1" ]; then PROVIDER=$1 shift fi # Perform ppp_on_boot migration from pppoe package. if [ -L /etc/ppp/ppp_on_boot -a "$(readlink /etc/ppp/ppp_on_boot)" = \ "ppp_on_boot.dsl" -a ! -e /etc/ppp/ppp_on_boot.dsl ]; then rm -f /etc/ppp/ppp_on_boot ln -s pppoe_on_boot /etc/ppp/ppp_on_boot fi if [ -z "$PROVIDER" ]; then if [ -x /etc/ppp/ppp_on_boot ]; then [ "$QUICK" ] && touch /var/run/ppp-quick exec /etc/ppp/ppp_on_boot fi # try the default script PROVIDER=provider fi if [ ! -e "/etc/ppp/peers/$PROVIDER" ]; then echo "\ The file /etc/ppp/peers/$PROVIDER does not exist. Please create it or use a command line argument to use another file in the /etc/ppp/peers/ directory." exit 1 fi [ "$QUICK" ] && touch /var/run/ppp-quick exec /usr/sbin/pppd call $PROVIDER "$@"