Amy.Lee
0
Q:

check if variable is a number in bash

# bash check if $1 is an integer

# compact version:
[ -n "$1" ] && echo "\$1 : is EMPTY" && exit 1
[ "$1" -eq "$1" ] 2>/dev/null && echo "$1 : is a number" || echo "$1 : not a number"

# long version
if [ "$1" -eq "$1" ] 2>/dev/null; then
	echo "$1 : is a number"
else
	[ -n "$1" ] && echo "$1 : is EMPTY" && exit 1
	echo "$1 : not a number"
fi
3
re='^[0-9]+$'
if ! [[ $yournumber =~ $re ]] ; then
   echo "error: Not a number" >&2; exit 1
fi
-1

New to Communities?

Join the community