shell scripting question (mdconfig device choosing)

Ensel Sharon user at dhp.com
Tue Jan 24 22:19:20 PST 2006


Luke,

On Tue, 24 Jan 2006, Luke Bakken wrote:

> > Yeah, but I am looking for "0" ... 8,9,11,14 are all in use ... but 0-7
> > are not.  I want to:
> >
> > "starting with zero, find the lowest number that is NOT in this list"
> >
> > (where "this list" is the output of mdconfig -l, which shows which md
> > devices are currently in use)
> 
> Running mdconfig -l I don't get any output, however this works, it'll
> find the first unused number up to 25 in that list.
> 
> echo '8 9 11 14' | perl -ane'@h{@F}=(1)x at F;for(0..25){if(not defined
> $h{$_}){print qq($_\n);exit}}'
> 
> If you can give me the exact output of mdconfig -l, I can modify this for you.


Thank you very much - you got no output because you have no md devices in
use.  I have a few in use and this is the output I get:

# mdconfig -l
md3 md2 md1 md0

But I could just as easily get:

# mdconfig -l
md9 md8 md5 md3

Hmm...I just saw that that line is in perl, and I do not have perl
installed on any of my 6.0 machines ... I am not sure I want to install it
just for this one shell script :(



More information about the freebsd-questions mailing list