isnum2() | |
{ | |
case "$1" in | |
'[-+]' | '') return 1;; # empty or bare `-' or `+' | |
[-+]*[!0-9]*) return 1;; # non-digit with leading sign | |
[-+]*) return 0;; # OK | |
*[!0-9]*) return 1;; # non-digit | |
*) return 0;; # OK | |
esac | |
} | |
# this one handles floating point | |
isnum3() | |
{ | |
case "$1" in | |
'') return 1;; # empty | |
*[!0-9.+-]*) return 1;; # non-digit, +, -, or . | |
*?[-+]*) return 1;; # sign as second or later char | |
*.*.*) return 1;; # multiple decimal points | |
*) return 0;; # OK | |
esac | |
} |