Idea for FreeBSD

Mike Meyer mwm at mired.org
Thu Aug 7 15:25:42 UTC 2008


On Thu, 7 Aug 2008 09:15:00 +0300 Alex Kozlov <spam at rm-rf.kiev.ua> wrote:
> [1]:
> $cat /usr/local/bin/service

Basically what I had in mind, but it can be made more portable across
FreeBSD configurations.

> #!/bin/sh
> 
> name=$1
> cmd=$2
> 
> . /etc/rc.subr
> if [ -z "${name}" -o -z "${cmd}" ]
> then
> 	echo ${0##*/} service_name command
> 	exit 3
> fi
> 
> 
> if [ -r "/etc/rc.d/${name}" ]
> then	
> 	run_rc_script "/etc/rc.d/${name}" ${cmd}
> 	exit 0
> fi	

And here's where you go wrong. What you want now is:

for dir in $local_startup; do
    if [ -r "${dir}/${name}" ]
    then
         run_rc_script "${dir}/${name}" ${cmd}
	 exit 0
    fi
    if [ -r "${dir}/${name}.sh" ]
    then
         run_rc_script "${dir}/${name}.sh" ${cmd}
	 exit 0
    fi
done

> 
> echo "service '${name}' not found"
> exit 2

  Thanks,
  <mike
-- 
Mike Meyer <mwm at mired.org>		http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.

O< ascii ribbon campaign - stop html mail - www.asciiribbon.org


More information about the freebsd-hackers mailing list