ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Look at "help for". The form like "for (( num=1; num<$max; num+=2));do " might be useful for you. You don't need to check even numbers of course, and the max number you need to check is the square root of the highest number you want to check.
genix@xion:~$ help for
for: for NAME [in WORDS ... ;] do COMMANDS; done
The `for' loop executes a sequence of commands for each member in a
list of items. If `in WORDS ...;' is not present, then `in "$@"' is
assumed. For each element in WORDS, NAME is set to that element, and
the COMMANDS are executed.
for ((: for (( exp1; exp2; exp3 )); do COMMANDS; done
(( EXP1 ))
while (( EXP2 )); do
(( EXP3 ))
EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is
omitted, it behaves as if it evaluates to 1.
Well when you compare 2 strings, what is actually compared (from my knowledge, although I am not very experienced with bash scripting, tell me if I'm wrong) is the ascii value of the letters, one by one.... so theoretically it's still a number comparison, and when you compare 2 numbers with "=", it should provide the same result... Anyway, it seems to work, I haven't tested it throughoutly...