#!/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. setglobal counter = '2' setglobal remainder = '1' if test $Argc -eq 0 { echo "Usage: isprime NUMBER" > !2 exit 1 } setglobal 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 ] { setglobal remainder = $[expr $number % $counter] # '/' is divide, '%' is remainder # echo " for counter $counter, remainder = $remainder" setglobal 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