Como verificar a sintaxe de scripts de shell POSIX portáteis? [duplicado]
Esta pergunta já tem uma resposta aqui:
Como faço para verificar a sintaxe de um script Bash sem executá-lo? 7 respostasO seguinte script shell executa bem quando fornecido/bin/true
para o primeiro argumento, mas pode falhar com umerro de sintaxe durante a execução!
#!/bin/sh
if $1 ; then exit; fi
/tmp/asdf <<< ASDF # Something with syntax error in POSIX
Certamente alguns erros de sintaxe (se não todos?) Podem ser evitados pela verificação estática?Como verificar estaticamente se um determinadoLinguagem de Comando do Shell script é sintaticamente válido?
EDITAR: A verificação de erros de sintaxe nos scripts Bash foi respondida emessa questão.
EDIT # 2: Observe queFalha na festança para verificar corretamente se a sintaxe segue o POSIX, mesmo quando executada com o+B
e--posix
bandeiras, além de-n
.