Date: Thu, 4 Apr 2002 00:06:21 +0300 From: Giorgos Keramidas <keramida@ceid.upatras.gr> To: Glenn Johnson <gjohnson@srrc.ars.usda.gov> Cc: questions@freebsd.org Subject: Re: why does this test condition not work? Message-ID: <20020403210621.GH848@hades.hell.gr> In-Reply-To: <20020403172111.GA88600@node1.cluster.srrc.usda.gov> References: <20020403172111.GA88600@node1.cluster.srrc.usda.gov>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2002-04-03 11:21, Glenn Johnson wrote: > I am writing a script am am trying to prompt for input and make sure all > of the values are entered. I have the following test condition in my > script but when I run it I get: > > [: -z: unexpected operator > while [ -z $tor1a -o -z $tor1b -o -z $tor1c -o -z $tor1d ] > do > read -p "Enter the atom numbers of the first torsion: " tor1a > tor1b tor1c tor1d > done Because at first all of your variables are unset, and the test within brackets is expanded by sh to: [ -z -o -z -o -z -o -z ] The first -o is consumed by the previous -z, and then test(1) moves on to check the rest of it's arguments and finds a -z (the second -z) where it would expect -or or -and. Try this instead: while [ -z "$tor1a" -o -z "$tor1b" -o -z "$tor1c" -o -z "$tor1c" ] do echo -n "Enter the atom numbers of the first torsion: " read tor1a to1b tor1c tor1d done Giorgos Keramidas FreeBSD Documentation Project keramida@{freebsd.org,ceid.upatras.gr} http://www.FreeBSD.org/docproj/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020403210621.GH848>