contrib/rc_nobash/service
2006-11-13 21:12:21 +01:00

72 lines
1.5 KiB
Bash

#!/bin/sh
# I choose not to document the -a feature.
usage()
{
echo "Error: Usage: ${0##*/} name start|stop|restart" >&2
exit 1
}
if [ "$1" = -a ]; then
# Load configuration
. /etc/rc.conf
# Start services
if [ "$SERVICES" ]; then
case "$2" in
stop)
# Reverse the order of the services
unset r
for i in $SERVICES; do
r="$i $r"
done
SERVICES="$r"
echo -n "Stopping services:"
;;
start)
echo -n "Starting services:"
;;
*)
usage
;;
esac
for service in $SERVICES; do
echo -n " $service"
output=$(/etc/rc.d/$service $2 2>&1)
[ $? -eq 0 ] || echo -n ' [ERROR]'
echo $output| logger -t $service
done
echo
echo
fi
exit 0
fi
if [ -x /etc/rc.d/"$1" -a -f /etc/rc.d/"$1" ]; then
case "$2" in
stop)
/etc/rc.d/$1 stop
;;
start)
/etc/rc.d/$1 start
;;
restart)
/etc/rc.d/$1 stop
/etc/rc.d/$1 start
;;
*)
usage
;;
esac
elif [ -z "$1" ]; then
usage
else
echo "${0##*/} Error: service \`$1' unknown"
echo -n These services are known:
cd /etc/rc.d
for i in *; do
echo -n " $i"
done
echo
fi