Skip site navigation (1)Skip section navigation (2)
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>