#!/bin/bash # isprime - given a number, ascertain if it's a prime or not # This uses what's know as trial division: simply check to see if any # number from 2 .. (n-1) divides into the number without a remainder. setvar counter = '2' setvar remainder = '1' if test $Argc -eq 0 { echo "Usage: isprime NUMBER" >&2 exit 1 } setvar number = "$1" # 3 and 2 are primes, 1 is not. if test $number -lt 2 { echo "No, $number is not a prime" ; exit 0 } # now let's run some calculations while [ $counter -le $(expr $number / 2) -a $remainder -ne 0 ] { setvar remainder = $(expr $number % $counter) # '/' is divide, '%' is remainder # echo " for counter $counter, remainder = $remainder" setvar counter = $(expr $counter + 1) } if test $remainder -eq 0 { echo "No, $number is not a prime" } else { echo "Yes, $number is a prime" } exit 0