On Thu, 24 Jun 2010 05:19:53 +0200, Thomas Keusch 
<f...@bsd-solutions-duesseldorf.de> wrote:
> t...@eternity:~$ b=5
> t...@eternity:~$ case "$b" in
>> [0-9] )
>>         echo numeric
>>         ;;
>> * )
>>         echo alpha
>>         ;;
>> esac
> numeric
> t...@eternity:~$
>
> Works for me.

Depending on what "numeric" means, this may be ok.  For other numeric
values (e.g. floating point numbers) There are simple, fast and correct
ways to check but you have to escape from the shell, e.g.:

    $ var=3.1415926535897931
    $ python -c "$var + 0.0" >/dev/null 2>&1 ; echo $?
    0

    $ var=3a.1415926535897931
    $ python -c "$var + 0.0" >/dev/null 2>&1 ; echo $?
    1

The overhead of spawning a full-blown language interpreter like Perl or
Python may be acceptable if you have to check "a few" values.  Then it
may be overkill if you want to check a million values.  It's really up
to you, as a programmer, to pick the right method.

_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to