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 env
comando 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 man
páginas bash
:
man bash
e env
:
man env
Nota: Nos sistemas Debian e baseados em Debian, como o Ubuntu, sh
está vinculado a dash
nã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/bash
no OpenBSD.