Sim. A maioria das shells tem o recurso de encerrar o script atual se algum dos comandos nele gerar um erro. Isso geralmente é feito com
set -e
e pode ser desativado com
set +e
EDIT : eu não entendi a pergunta. Bash e outros shells também têm a opção -n
que não executa o script, mas verifica se há erros de sintaxe.
$ bash -n script.sh
As opções -e
e -n
são descritas por POSIX. Para -n
, o padrão diz:
The shell shall read commands but does not execute them; this can be used to check for shell script syntax errors. An interactive shell may ignore this option.
CLARIFICATION : Essa resposta está relacionada à verificação de sintaxe, e não à verificação de conformidade com POSIX. Um shell que estende o POSIX com sua própria semântica ainda pode verificar a sintaxe (com -n
) de um script escrito usando a semântica estendida. Isso não diz nada sobre a conformidade POSIX do shell nem do script, somente se o shell script estava sintaticamente correto para o shell em questão, que era a questão.