Eu diria que sim, é intrinsecamente melhor usar um shebang.
Pro:
Se você colocar todos os seus scripts em $PATH
(talvez /usr/local/bin
ou ~/bin
) e marcá-los como executáveis, poderá executá-los por nome sem pensar em qual interpretador precisar invocar (bash, Python , Ruby, Perl, etc.).
Se você colocar um arquivo executável chamado foo
com um shebang em qualquer lugar no seu $PATH
, você pode simplesmente digitar foo
para executá-lo.
Con:
Você precisa digitar #!/bin/bash
na parte superior e chmod +x
no arquivo.
Este é um custo quase zero para um retorno muito conveniente.