Date: Tue, 16 May 2006 23:51:15 +0200 From: Stefan Bethke <stb@lassitu.de> To: "Ricardo A. Reis" <ricardo_bsd@yahoo.com.br> Cc: freebsd-hackers@freebsd.org Subject: Re: kldfind Message-ID: <83FEAC4F-7F0D-430D-B1FB-D02CA721E2AC@lassitu.de> In-Reply-To: <op.s9nxcrv0p1tyz6@localhost> References: <op.s9nofuojp1tyz6@localhost> <op.s9nxcrv0p1tyz6@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
Am 16.05.2006 um 23:15 schrieb Ricardo A. Reis: > I writed one script for find freebsd kernel modules, ... > [ricardo@myfreebsd:~/kldfind] # ./kldfind -h > Options: > -c -- find all matchs for category > -s -- string match ... > http://ricardo.epm.br/freebsd/script/ It's a nice little script, but I think it can be improved in a few aspects. Just off the top of my head: Exit codes: plase see sysexits(3) for a number of well-defined exit codes and their meanings. If your script is invoked with the -c or -s switch, but no search term was provided, help() will exit with 0; EX_USAGE (64) would be more appropriate. Options handling: FreeBSD (and Posix) provide getopt(1) for options processing; while your script doesn't use options as such (-c, -h, and -s are really sub-commands, not options here), it's probably worthwile to use the standard functionality anyway. Functionality: inside the loop in search(), the sleep is superflous. Also, using exit inside the loop will terminate the script. With the current construction, only the first component of the KLD search path will ever be searched. It is debatable whether not finding any matching modules should be an error. Output format: there's no easy way to post-process the search results with a script. A pretty print version of the output is nice, but for a system utility, the default should be something that can be easily post-processed with another script. Stefan -- Stefan Bethke <stb@lassitu.de> Fon +49 170 346 0140
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?83FEAC4F-7F0D-430D-B1FB-D02CA721E2AC>