Can't get start_precmd to do *anything*
Paul Schmehl
pschmehl_lists at tx.rr.com
Wed Dec 19 23:03:35 UTC 2012
--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()"
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
More information about the freebsd-questions
mailing list