rc.subr questions

Paul Schmehl pschmehl_lists at tx.rr.com
Thu Dec 6 21:10:50 UTC 2012

--On December 6, 2012 8:45:50 PM +0000 Chris Rees <crees at FreeBSD.org> wrote:

> [CC rc@]
> On 6 December 2012 20:36, Paul Schmehl <pschmehl_lists at tx.rr.com> wrote:
>> I'm trying to figure out how to get an rc.subr script to start and stop a
>> script.
>> This works from the commandline (to start it):
>> tclsh /usr/local/bin/dir/script -D -c /usr/local/etc/conffile
>> I've tried various combinations of:
>> command_interpreter
>> argument_precmd
>> command_args
>> but I keep getting this error:
>> unknown directive '/usr/local/bin/sguil-sensor/pads_agent.tcl'
>> Doesn't matter if I make that string the val for command and don't use
>> command_interpreter or do use command_interpreter.
>> I've read the man page over and over, but I'm clueless as to how to use
>> run_rc_script, which I *think* is the right way to call this script.
> Make the script executable

It is.

, put a shebang in; #!/usr/bin/env tclsh

Here's the current script's starting lines:

# Run tcl from users PATH \
exec tclsh "$0" "$@"
># !/bin/sh
> . /etc/rc.subr
> name=tclshexample
> rcvar=tclshexample_enable
> load_rc_config $name
> : ${tclshexample_enable=YES}
> command="/usr/local/bin/dir/script"
> command_interpreter=tclsh
> command_args="-D -c /usr/local/etc/conffile"
> run_rc_command $@
> http://www.bayofrum.net/~crees/scratch/tclshexample
> Would be much easier if you were to provide specifics or the actual
> script :)
> Chris

Here's the rc script I'm working on.

. /etc/rc.subr

load_rc_config pads_agent

#set defaults
pads_agent_flags="${pads_agent_flags}:-"-D -c ${pads_agent_conf}"



run_rc_command "$@"

Here's the error I'm getting when I run start:

/usr/local/etc/rc.d/pads_agent: WARNING: $command_interpreter tclsh != 
Starting pads_agent.
/usr/local/etc/rc.d/pads_agent: WARNING: $command_interpreter tclsh != 
/usr/local/etc/rc.d/pads_agent: unknown directive 
Usage: /usr/local/etc/rc.d/pads_agent 
/usr/local/etc/rc.d/pads_agent: WARNING: failed to start pads_agent

I tried changing the interpreter to "/bin/sh" but I got the same error.

Here's the perms on the script:

# ls -lsa /usr/local/bin/sguil-sensor/pads_agent.tcl
12 -r-xr-xr-x  1 root  wheel  11662 Dec  6 18:31 
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-ports mailing list