O shebang nunca causa um processo de bifurcação. Ele não faz nada, a menos que o script seja executável e é invocado de tal maneira que faz com que o sistema avalie o shebang para ver com qual programa / shell executar o script.
Se, por exemplo, você já estivesse executando o bash e executasse o script com o source
comando, o script seria executado dentro do shell que você estava executando no momento e exit
afetaria esse processo do shell, em vez de ser um novo shell processo que terminou.
Se você possui um arquivo de script que deseja executar, torne-o executável com o seguinte comando:
chmod +x script
Então, se você deseja executar o script, e se assumirmos que o arquivo de script está no diretório atual, use o seguinte comando:
./script
Observe que isso é muito diferente de . script
, o que é apenas uma notação abreviada para source script
.
O ./script
é um nome de caminho relativo ao arquivo de script, o que significa pesquisar no diretório atual para encontrar o arquivo de script 'script' e depois executá-lo - o que funciona apenas se o arquivo de script for executável.
Se você tiver um arquivo de script que NÃO seja executável, poderá invocá-lo com:
bash script
Mas, neste caso, você está especificando qual shell executar e a linha shebang é ignorada.