Can't get start_precmd to do *anything*

Chris Rees utisoft at gmail.com
Wed Dec 19 23:07:35 UTC 2012


On 19/12/2012, Paul Schmehl <pschmehl_lists at tx.rr.com> wrote:
> --On December 19, 2012 10:47:56 PM +0000 Chris Rees <utisoft at gmail.com>
> wrote:
>
>> On 19/12/2012, Paul Schmehl <pschmehl_lists at tx.rr.com> wrote:
>>> I'm working on an rc.d init script for a port, and I am clearly in need
>>> of a clue.
>>>
>>> I have a daemon that requires that a FIFO exist before it will start.
>>> The FIFO is defined in the daemon's conf file.  I could just point that
>>> out to the user using "warn", but I thought it would be nicer to simply
>>> take care of it programmatically.
>>>
>>> So I created this:
>>>
>>> start_precmd="${name}_ck4fifo()"
>>
>> Is this a copy/paste error, or is your function actually called
>> _ck4fifo or _ch4fifo?
>>
>
> Both, but I fixed it and nothing changed.
>
>>> ${name}_ch4fifo()
>>
>> I'm surprised sh isn't choking on this, you can't use ${name} in a
>> function name.  Indirecting it is a waste of processing time, if I'm
>> honest; just use
>>
>> start_precmd=pads_agent_prestart
>>
>> pads_agent_prestart()
>> {
>>      do_something
>> }
>>
>
> OK, I've done that.  Still no change. {{{sigh}}}
>
> Here's the current invocation:
>
> start_precmd="pads_agent_ck4fifo()"

Lose the parentheses in the above line (this isn't C :) )

Chris

> pads_agent_ck4fifo()
> {
>         . ${pads_agent_conf}
>         if [ ! -p ${PADS_FIFO} ]; then
>                 `/usr/bin/mkfifo ${PADS_FIFO}`
>         fi
>         echo "Checking for ${PADS_FIFO}...."
>         if [ -p ${PADS_FIFO} ]; then
>                 echo "${PADS_FIFO} exists."
>                 return 0
>         else
>                 echo "I tried to create ${PADS_FIFO} and failed."
>                 echo "You will need to create it manually before starting
> ${name}."
>                 return 1
>         fi
> }
>
> --
> Paul Schmehl, Senior Infosec Analyst
> As if it wasn't already obvious, my opinions
> are my own and not those of my employer.
> *******************************************
> "It is as useless to argue with those who have
> renounced the use of reason as to administer
> medication to the dead." Thomas Jefferson
> "There are some ideas so wrong that only a very
> intelligent person could believe in them." George Orwell
>
>


-- 
Chris Rees          | FreeBSD Developer
crees at FreeBSD.org   | http://people.freebsd.org/~crees


More information about the freebsd-rc mailing list