diff options
author | Pete Travis <immanetize@fedoraproject.org> | 2014-10-01 11:33:51 -0600 |
---|---|---|
committer | Pete Travis <immanetize@fedoraproject.org> | 2014-10-01 11:33:51 -0600 |
commit | 3f6c1435a4cbdf73a65639b05898a01c0dfc21ac (patch) | |
tree | c29f3db44b106fc8b145656cd0238341551b22c0 /scratch/bash-3.1-postpatch/examples/functions/isnum.bash | |
parent | 46c50fce0354d81d347a8055314a688fc8aa9f52 (diff) | |
download | rpmbuild-sles10-bash.tar.gz rpmbuild-sles10-bash.tar.xz rpmbuild-sles10-bash.zip |
we might need this sles10 stuff latersles10-bash
Diffstat (limited to 'scratch/bash-3.1-postpatch/examples/functions/isnum.bash')
-rw-r--r-- | scratch/bash-3.1-postpatch/examples/functions/isnum.bash | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/scratch/bash-3.1-postpatch/examples/functions/isnum.bash b/scratch/bash-3.1-postpatch/examples/functions/isnum.bash new file mode 100644 index 0000000..b733965 --- /dev/null +++ b/scratch/bash-3.1-postpatch/examples/functions/isnum.bash @@ -0,0 +1,52 @@ +#From: jrmartin@rainey.blueneptune.com (James R. Martin) +#Newsgroups: comp.unix.shell +#Subject: Re: testing user input on numeric or character value +#Date: 26 Nov 1997 01:28:43 GMT + +# isnum returns True if its argument is a valid number, +# and False (retval=1) if it is any other string. +# The first pattern requires a digit before the decimal +# point, and the second after the decimal point. + +# BASH NOTE: make sure you have executed `shopt -s extglob' before +# trying to use this function, or it will not work + +isnum() # string +{ + case $1 in + ?([-+])+([0-9])?(.)*([0-9])?([Ee]?([-+])+([0-9])) ) + return 0;; + ?([-+])*([0-9])?(.)+([0-9])?([Ee]?([-+])+([0-9])) ) + return 0;; + *) return 1;; + esac +} + +isnum2() # string +{ + case $1 in + ?([-+])+([[:digit:]])?(.)*([[:digit:]])?([Ee]?([-+])+([[:digit:]])) ) + return 0;; + ?([-+])*([[:digit:]])?(.)+([[:digit:]])?([Ee]?([-+])+([[:digit:]])) ) + return 0;; + *) return 1;; + esac +} + +isint() # string +{ + case $1 in + ?([-+])+([0-9]) ) + return 0;; + *) return 1;; + esac +} + +isint2() # string +{ + case $1 in + ?([-+])+([[:digit:]]) ) + return 0;; + *) return 1;; + esac +} |