Date: Tue, 11 Apr 2006 02:03:05 -0400 From: Parv <parv@pair.com> To: Garrett Cooper <youshi10@u.washington.edu> Cc: freebsd-questions@freebsd.org Subject: Re: Need /bin/sh script help Message-ID: <20060411060305.GA2175@holestein.holy.cow> In-Reply-To: <443B3EF8.3020308@u.washington.edu> References: <443B3EF8.3020308@u.washington.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
in message <443B3EF8.3020308@u.washington.edu>, wrote Garrett Cooper thusly... > > I was wondering if anyone could help me out with the following > script I've developing (the grep if statements are incorrect..): > > #!/bin/sh > # > > KC=""; > > cd /usr/src; > > if [ -n `grep -e s/KERNCONF=/ /etc/make.conf` ] # want to look for Well, you did not write what exactly is the problem, as executing the above works as expected. Why do have 'KERNCONF' surrounded by 's/' & '/'? In any case, there is not need to see if the returned string length is nonzero. Just use the grep return code & send the all the output to /dev/null ... if grep -e '^KERNCONF=' /etc/make.conf >/dev/null 2>&1 then ... fi ... or you could also use '-q' and/or '-s' grep options instead of sending output to /dev/null. (I personally would do a bit more strict check to see $KERNCONF is set to value containing characters meeting some criteria, say '\<[-._[:alnum:]]+\>'.) > KERNCONF in /etc/make.conf > then > echo "enter in the kernel conf file full pathname:"; I did not know one can specify the kernel configuration path, not just the basename. > read KERNCONF; > KC="KERNCONF=$KERNCONF"; > fi > > if [ -n `grep -e s/NO_CLEAN=*yes*/ /etc/make.conf` ] // want to look for ^^ ^^ Wrong kind of comment character. See above comments about grep(1) usage. - Parv --
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060411060305.GA2175>