Você precisa de espaços em torno de [ e ] , por exemplo,
if [ "$MARK" -ge 0 -a "$MARK" -lt 50 ]; then
A maneira como você o escreveu, quando $MARK é 7 , ele tenta executar o comando [7 em vez de passar 7 como um argumento para o comando [ ( [ é apenas um curto nome para test ).
Você também deve citar a variável. Caso contrário, se o usuário inserir uma linha em branco ou várias palavras, a expressão de teste não será analisada corretamente.