#!/bin/bash
for i in `seq 1 10`; do if [ $((${i} % 2)) != 0 ]; then echo ${i} fi done
Luca Ferrari wrote:
On Thursday 01 April 2004 02:45 Scott@Charter's cat walking on the keyboard wrote:
I can't get this bash script to work. It's suppose to print all odd numbers from 1 to 10.
#!/usr/bin/bash
LIMIT=10 a=1
while [ "$a" -le $LIMIT ] do if [ "$a" -eq $(1 3 5 7 9) ] <---------Something not right here.
This is an awkard way to print all odd numbers, have a look at this:
#!/bin/bash
LIMIT=10 a=1
while test ${a} -lt ${LIMIT} do go=`expr ${a} % 2` if test ${go} -ne 0 then echo "Odd number ${a}" fi
a=`expr ${a} + 1`
done
exit 0
In this example, if you change the LIMIT value to 100, the script will print you all odds numbers, while in your example you have to put numbers by your own. In perl it can result as:
#!/usr/bin/perl
$LIMIT=10; $a=1;
while( $a < $LIMIT ){ if( ($a % 2) !=0 ){ print "Odd number $a\n"; } $a++; }
exit;
Luca
-- Jeff Largent ImageLinks, Inc. Sr System Admin Melbourne, Fl 32935 (321) 253-0011 fax: (321) 253-5559
- : send the line "unsubscribe linux-admin" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html