Advertisement
zamotivator

Untitled

Jun 14th, 2013
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.74 KB | None | 0 0
  1. oleg@t510 0 ~/work/svn/p4 % ./test.sh
  2. is_number '0' is yes
  3. is_number '1' is yes
  4. is_number '123' is yes
  5. is_number '-1' is yes
  6. is_number '-123' is yes
  7. is_number '-0' is yes
  8. is_number '-123-123' is no
  9. is_number 'bad' is no
  10. is_number '' is no
  11. oleg@t510 0 ~/work/svn/p4 % cat test.sh
  12. #!/bin/bash
  13.  
  14. function is_number ()
  15. {
  16.     local string=$1
  17.     case $string in
  18.     ''|*[!0-9]*)
  19.         if [ "${string:0:1}" == '-' ]; then
  20.         is_number "${string:1:${#string}-1}"
  21.         return $?
  22.         else
  23.         return 1
  24.         fi
  25.         ;;
  26.     *)
  27.         return 0
  28.         ;;
  29.     esac
  30. }
  31.  
  32. for value in 0 1 123 -1 -123 -0 -123-123 bad ''; do
  33.     is_number $value
  34.     echo "is_number '$value' is $(is_number ${value} && echo 'yes' || echo 'no')"
  35. done
  36. oleg@t510 0 ~/work/svn/p4 %
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement