On Thu, 7 Aug 2008 09:15:00 +0300 Alex Kozlov <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>          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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to