Se apenas números inteiros precisarem ser manipulados e -0
não precisar ser manipulado corretamente,
os seguintes trabalhos:
case "$input" in
''|*[!0-9-]*|[0-9-]*-*)
echo "invalid input"
;;
[0-9]*)
echo "input >= 0"
;;
-[1-9]*)
echo "input < 0"
;;
*)
echo "invalid input"
;;
esac
Mas geralmente é melhor usar as construções if .. then .. elif ... then .. else .. fi
para distinção de casos com expressões mais complicadas do que case
com correspondência de padrões.