[РЕШЕНО] bash склонение

пробую курить баш.
ниасилю склонения

if [ "$VAR" -gt 0 ] ; then
case "$VAR" in
*[1] ) echo -e "\n\033[1;32mв корзине \033[1;5;31m$DB\033[0m\033[1;32m орех\033[0m" ;;
*[2-4] ) echo -e "\n\033[1;32mв корзине \033[1;5;31m$DB\033[0m\033[1;32m ореха\033[0m" ;;
*[5-9] ) echo -e "\n\033[1;32mв корзине \033[1;5;31m$DB\033[0m\033[1;32m орехов\033[0m" ;;
*[0] ) echo -e "\n\033[1;32mв корзине \033[1;5;31m$DB\033[0m\033[1;32m орехов\033[0m" ;;
esac

в итоте
в корзине 13 орех, а не 13 орехов.
подскажите плз, где накосячил?
case "$1" in
1|[2-9][1] ) echo "в корзине $1 орех" ;;
[2-9][2-4]|[2-4] ) echo "в корзине $1 ореха" ;;
*) echo "в корзине $1 орехов" ;;
esac
Ошибки в тексте-неповторимый стиль автора©
Чтобы при количестве орехов больше 99 не получить "в корзине 101 орехов":

case "$1" in
1|*[!1][1] ) echo "в корзине $1 орех" ;;
[234]|*[!1][234] ) echo "в корзине $1 ореха" ;;
*) echo "в корзине $1 орехов" ;;
esac
Изящно! Первый раз, честно говоря, такую вижу конструкцию, хотя ABSG читаю не раз.
 
Зарегистрироваться или войдите чтобы оставить сообщение.