Append to "command" in rec script
Polytropon
freebsd at edvax.de
Thu Nov 8 18:39:03 UTC 2018
On Thu, 8 Nov 2018 18:13:24 +0000, Carmel NY wrote:
> I am attempting to create an "rc" script to start a program I am working on.
> I want, if possible, for the user to enter something in the rc.conf file to be
> added to the "command" string when the program is started.
>
> EXAMPLE:
>
> In the rc script, this is present
>
> command=/usr/local/bin/MyProg
>
> Now, suppose the user wanted to activate logging. They could modify the rc
> script and append an "-l" to the command string. However, I would rather they
> entered options in the rc.conf file
Maybe read "man 5 rc.conf" and put non-FreeBSD (or at
least "experimental" stuff) in /etc/rc.conf.local.
The difference between rc.conf and rc.conf.local is
not as big in FreeBSD as it is in OpenBSD. ;-)
> I have been trying to use something like this in the re.conf file:
>
> MyProg_append="-l"
>
> is there a way to get the script to automatically append that to the
> "command" or would I have to use something like this:
>
> command=/usr/local/bin/MyProg ${MyProg_append}
The common way to do this is to have a _flags variable,
for example
myprog_flags="-l"
You can then execute
$command $myprog_flags
in the script you're sourcing rc.conf into, and then
executing the program with flags, if present.
In case you don't have this in place yet, a convenient way
to source rc.conf is this:
#!/bin/sh
if [ -z "${source_rc_confs_defined}" ]; then
if [ -r /etc/defaults/rc.conf ]; then
. /etc/defaults/rc.conf
source_rc_confs
elif [ -r /etc/rc.conf ]; then
. /etc/rc.conf
elif [ -r /etc/rc.conf.local ]; then
. /etc/rc.conf.local
fi
fi
# ... your commands here ...
This makes sure a certain "precedence" is maintained, if
you need that feature.
> What happens if the variable is empty?
An unset variable will (with sh defaults) evaluate
to the empty string. See "man sh" for "-u nounset"
if you want to get warnings about unset variables.
--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions
mailing list