Podemos fazer melhor, podemos fazer uma verifique o intervalo para garantir que ele esteja entre 1 e 12 inclusive. Existem cerca de um bilhão de maneiras de fazer isso, mas aqui estão alguns:
if [ "$v" -ge 1 -a "$v" -le 12 ]; then
cal -m "$v"
else
cal
fi
Ou use um teste aritmético:
((v>=1 && v<=12)) && cal -m "$v" || cal