Se eu entendi corretamente, isso deve funcionar:
#! /bin/bash -
read -p "Enter a positive integer (-99 to quit): " USR_INT
while [[ -n "$USR_INT" ]]; do
case "$USR_INT" in
-99)
echo "Exiting..."
exit 0
;;
-*)
echo "Error, please enter a positive integer."
exit 1
;;
0)
echo "Error, please enter a positive integer."
exit 1
;;
[0-9]*)
echo "You have entered $USR_INT"
;;
*)
echo "Error, please enter a positive integer."
exit 1
;;
esac
read -p "Enter a positive integer (-99 to quit): " USR_INT
done