Apenas algumas modificações.
1) Defina sua shebang! #!/bin/bash se você escrever bash
2) Redefinir se o getopts foi usado anteriormente
3) Você esqueceu um m at $moznost .
4) Não use maiúsculas para nomes de variáveis normais.
5) Use mais citações. Aspas duplas " " ao expandir variáveis.
6) Use shift .
7) Você não precisa definir / inicializar variáveis como está fazendo aqui moznostm= .
#!/bin/bash
OPTIND=1
moznostm=
moznostl=
moznosta=
moznostb=
while getopts "mlbah:" opt
do
case "$opt" in
m)
moznostm=$OPTARG
echo "bol zadany argument $moznostm"
;;
l)
moznostl=$OPTARG
echo "bol zadany argument $OPTARG"
;;
b)
moznostb=$OPTARG
echo "bol zadany argument $OPTARG"
;;
a)
moznosta=$OPTARG
echo "bol zadany argument $OPTARG"
;;
h)
echo "prazny"
;;
esac
done
shift "$((OPTIND-1))"
Execute o script:
chmod +x scriptname && ./scripname -m