On Mon, 2003-06-23 at 13:57, David selby wrote: > My bash masterpeice is almost complete ... I have one last problem that > no matter how many "" or '' I use I cannot get around. > > I need to use an if...then construct to check that my 4 digit date field > is 4 numerical digits.This is for error checking. I thought [sets] was > the way to go .... > > if [ $fourdig = [0-9][0-9][0-9][0-9] ]; then ...... > > I have tried '[0-9]' "[0-9]", straight [0-9]. Interestingly no matter > what I do in [sets] as a comaparison it is invalid in the if...then > construct. It has occured to me that perhaps [sets] are not allowed as a > conditional test. > > If this is the case, how can I test a string ?
for your enjoyment: #!/bin/bash if echo $fourdig | grep ^[0-9]*$ > /dev/null 2>&1; then echo "yes, it is a number" else echo "no, it is not a number" fi -matt zagrabelny -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]