Um script bash
é um script interpretado pelo Bourne-Again SHell e, portanto, é um script de shell. Pode ou não ser executado com sucesso por outros shells. Se você usar a sintaxe bash
-específica, não poderá ter certeza de que ela será executada com outros shells.
Se você quiser escrever um script que possa ser interpretado por cada shell, você deve usar a sintaxe descrita no padrão POSIX em Linguagem de comandos do shell . É claro que nem todas as granadas honram o padrão POSIX, mas isso é o melhor que você pode fazer. Tais scripts podem ser muito portáveis e podem rodar em muitos Linux e * nixes da mesma maneira sem gerar erros.
Muitas shells e ferramentas de linha de comando procuram por uma variável de ambiente chamada $POSIXLY_CORRECT
. Se isso for definido, essas ferramentas se comportarão como uma ferramenta em conformidade com o posix se comportaria.
Outra tentativa é o sinalizador --posix
. Por exemplo, o GNU sed
tem um sinalizador chamado --posix
, que desabilita todas as extensões GNU e sed
se comporta de maneira semelhante a um posix sed
.
bash
suporta as variáveis --posix
e $POSIXLY_CORRECT
.
Se você escrever seus scripts dessa maneira e testá-los com shells compatíveis com posix, você estará no melhor caminho.