Date: Wed, 25 Jan 2006 08:27:54 -0800 From: Luke Bakken <luke.bakken@gmail.com> To: Ensel Sharon <user@dhp.com> Cc: freebsd-questions@freebsd.org Subject: Re: shell scripting question (mdconfig device choosing) Message-ID: <6acc6ca40601250827l34ed2a08jaf160b94443bff0d@mail.gmail.com> In-Reply-To: <Pine.LNX.4.21.0601251027420.8684-100000@shell.dhp.com> References: <6acc6ca40601250710x3b0de685j2d7168f6ac5442a0@mail.gmail.com> <Pine.LNX.4.21.0601251027420.8684-100000@shell.dhp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> > > Thank you very much - you got no output because you have no md device= s 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 insta= ll it > > > just for this one shell script :( > > > > Whoops, I forgot that perl isn't in the base any more. What scripting > > languages do you have? If you only have sh, I'll work on that, but it > > won't be a one-liner most likely. Or a C program. > > > I am putting this into a larger, already written /bin/sh program > ... doesn't need to be one line ... > > Wow - thanks a lot for your help. OK, this works on my cygwin install and I think it's generic enough sh programming it should work for you. You could expand the MDDEV variable to encompass all of the devices you could have, past md9. I read the mdconfig man page and it doesn't seem to have an option to list all potential devices. You'll also have to change 'echo $DEV' to whatever means you want to use to return the device from the function. It's not the most elegant solution, but it works. #!/bin/sh function find_first_mdevice { MDDEV=3D'md0 md1 md2 md3 md4 md5 md6 md7 md8 md9' MDOUT=3D`mdconfig -l` for DEV in $MDDEV do if ! echo $MDOUT | grep -q $DEV then break fi done echo $DEV } find_first_mdevice
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6acc6ca40601250827l34ed2a08jaf160b94443bff0d>