As you have probably seen, others have posted _much_ simpler solutions to this problem than I did. There is a `case` statement in bash, but you would have to determine how to check for different values while performing only a single `cal` command. See your favorite man page for bash by running `man bash` on your favorite linux box--it is big, but there is a lot of good stuff in there. As a side note, you might be able to use a simple word count to get the days in any given month since `cal` should always produce the same headings, and then a range of numbers ranging from 28 through 31 depending on the month and whether or not the month is February during a leap year. The following seems to work, and uses the math feature available in `bash` to assign the result to a variable, and then echos the result for output: let totaldays=`cal | wc -w`-9 echo $totaldays There should always be 9 words of header info produced by `cal`, so subtracting the count of the words in the header (9) leaves the number of dates displayed for the month. I might have recognized this way of producing the total days if I had slept a little before posting the somewhat lengthy and complicated solution shown below--maybe next time I will not be so hasty with my post if it seems a little messy again;). Just one more of many possible ways of producing the output you seem to be looking for :) . HTH, and have a _great_ day! On Wed, Mar 30, 2005 at 03:48:02PM -0700, Ned wrote: > This is yet to be seen! > Wow, what a syntax. > semicolon at the end of if, elif, then, > and the most apealing is that fi at the end. > Thanks a lot! > It's a totally new stuff to me. > Is there a case structure in bash? That would fit here just perfectly. > > Many thanks! > Ned > ----- Original Message ----- > From: "Ralph W. Reid" <rreid at sunset.net> > To: "Speakup is a screen review system for Linux." <speakup at braille.uwo.ca> > Sent: Wednesday, March 30, 2005 1:16 PM > Subject: Re: how to get the last word from file > > > >On Tue, Mar 29, 2005 at 12:17:43PM -0700, Ned wrote: > >>Hi list, > >>I am using the cal command to get current month. What I need for my shell > >>script is how many days are there in the current month, that is, the last > >>listed date for that month is that very number. > >>How can I get that number? > >>cal | tail -1 > >>and then what? > >> > >>Many thanks! > >>Ned > > > >The above command line will produce a blank line because the last line > >produced by `cal` is a blank line. If you are looking specifically > >for days in the current month (as opposed to a more general > >last-word-in file search), the following is one of several ways to > >produce it: > > > >if [ `cal | grep -c 31` == 1 ]; > >then > >echo 31 > >elif [ `cal | grep -c 30` == 1 ]; > >then > >echo 30 > >elif [ `cal | grep -c 29` == 1 ]; > >then > >echo 29 > >elif [ `cal | grep -c 28` == 1 ]; > >then > >echo 28 > >else > >echo Cal did not produce a calendar. > >fi > > > >HTH, and have a _great_ day! > > > >-- > >Ralph. N6BNO. Wisdom comes from central processing, not from I/O. > >rreid at sunset.net http://personalweb.sunset.net/~rreid > >...passing through The City of Internet at the speed of light! > >_PI = 4 * ARCTAN (1) -- Ralph. N6BNO. Wisdom comes from central processing, not from I/O. rreid at sunset.net http://personalweb.sunset.net/~rreid ...passing through The City of Internet at the speed of light! 1 = x^0