Seu nível de shell não está mudando no script que você criou. Quando você echo $SHLVL
no seu terminal, você verá o nível de execução atual do shell. Se você usar o comando bash
no seu terminal, você terá criado uma subcamada e aumentado o nível do shell até sair dessa sub-tampa. O subshell que você cria em seu script é um filho de um pai executando no nível shell do pai. É por isso que $SHLVL
é o mesmo nos processos pai e filho.