Usar uma linha shebang para chamar o intérprete apropriado não é apenas para o BASH. Você pode usar o shebang para qualquer linguagem interpretada em seu sistema, como Perl, Python, PHP (CLI) e muitas outras. A propósito, o shebang
#!/bin/sh -
(também pode ser de dois hífens, ie --) termina as opções do bash que depois serão tratadas como nomes de arquivos e argumentos.
O uso do envcomando torna seu script portátil e permite configurar ambientes personalizados para o seu script, portanto, os scripts portáteis devem usar
#!/usr/bin/env bash
Ou para qualquer idioma como o Perl
#!/usr/bin/env perl
Não deixe de procurar nas manpáginas bash:
man bash
e env:
man env
Nota: Nos sistemas Debian e baseados em Debian, como o Ubuntu, shestá vinculado a dashnão bash. Como todos os scripts do sistema usam sh. Isso permite que o bash cresça e o sistema permaneça estável, de acordo com o Debian.
Além disso, para manter a invocação * nix como se eu nunca usasse extensões de arquivo em scripts invocados shebang, pois você não pode omitir a extensão na invocação em executáveis como no Windows. O comando file pode identificá-lo como um script.
/usr/local/bin/bashno OpenBSD.