Você esqueceu de passar pelo menos um parâmetro para a função myfunc
quando o chama. Então, seu script myfunc.sh
deve se parecer com:
#!/bin/bash
#function myfunc
myfunc(){
echo
case in
e) a=5 ;;
q) a=10 ;;
*) a='not e or q' ;;
esac
echo $a
}
myfunc #in this case you can also use $@ or $*
Mais sobre: