stb at lassitu.de
Tue May 16 14:51:54 PDT 2006
Am 16.05.2006 um 23:15 schrieb Ricardo A. Reis:
> I writed one script for find freebsd kernel modules,
> [ricardo at myfreebsd:~/kldfind] # ./kldfind -h
> -c -- find all matchs for category
> -s -- string match
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 Bethke <stb at lassitu.de> Fon +49 170 346 0140
More information about the freebsd-hackers