@kashyap (e outros). Não está claro se você tem resposta suficiente para corrigir o seu problema?
Eu modifiquei seu código um pouco para realmente ver o que está ocorrendo:
function1()
{
echo "I am function 1"
}
function2()
{
echo "I am function 2"
}
opt=$1
case $opt
in
u) function1 ;;
g) function2 ;;
*) echo "Nothing to do"
exit ;;
esac
Eu nomeei o arquivo dummyFunc , dei-lhe x-bits e estes são os resultados.
$ ./dummyFunc u
I am function 1
$ ./dummyFunc g
I am function 2
$ ./dummyFunc
Nothing to do
$
Espero que isso ajude kashyap ?
Se não, mostre-nos como seu script se parece e adicione a saída que ele gera.