Date: Mon, 16 Dec 2002 15:05:31 +0200 From: Giorgos Keramidas <keramida@ceid.upatras.gr> To: Nelis Lamprecht <nelis@brabys.co.za> Cc: questions@freebsd.org Subject: Re: Broken Startup Script Message-ID: <20021216130531.GE12261@gothmog.gr> In-Reply-To: <1040035528.444.5.camel@enigma.8ball.co.za> References: <1040035528.444.5.camel@enigma.8ball.co.za>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2002-12-16 12:45, Nelis Lamprecht <nelis@brabys.co.za> wrote:
>
> Since upgrading to latest stable a few of my startup scripts have
> stopped working due to the changes in sh. I have fixed most but not
> sure how to fix the below script which keeps giving me [:
> /usr/local/sbin/snmpd: unexpected operator
> #!/bin/sh
>
> if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
> echo "$0: Cannot determine the PREFIX" >&2
> exit 1
> fi
>
> case "$1" in
> start)
> [ -x ${PREFIX}/sbin/snmpd -c ${PREFIX}/share/snmp/snmpd.conf ] &&
> ${PREFIX}/sbin/snmpd && echo -n ' snmpd'
> ;;
If you were trying to combine two tests in one, this is the wrong way
of doing it. You should at least change it to:
[ -x ${PREFIX}/sbin/snmpd ] && [ -c ${PREFIX}/share/snmp/snmpd.conf ] && \
${PREFIX}/sbin/snmpd && echo -n ' snmpd'
But even then, the test of the second [...] block is completely bogus,
since -c checks whether its operand is a 'character special device'.
I'm positively sure that's not what you meant to test.
If, on the other hand, you are trying to fire up snmpd with a -c
option that points to the proper configuration file that snmpd will
read, you should write this a bit differently:
[ -x ${PREFIX}/sbin/snmpd ] && \
${PREFIX}/sbin/snmpd -c ${PREFIX}/share/snmp/snmpd.conf && \
echo -n ' snmpd'
That should work better. You could even make things a little more
verbose, to avoid making mistakes in the future, and write this using
an ``if'' block and quoting the places where $PREFIX is used:
if [ -x "${PREFIX}/sbin/snmpd" ]; then
"${PREFIX}/sbin/snmpd" -c "${PREFIX}/share/snmp/snmpd.conf" && \
echo -n ' snmpd'
fi
- Giorgos
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021216130531.GE12261>
