O script não começa com uma linha shebang , portanto, o sistema o executa com /bin/sh
. No Ubuntu, /bin/sh
é dash , um shell projetado para inicialização e execução rápidas com apenas recursos padrão. Quando o traço atinge a linha 68, ele vê um erro de sintaxe: esse parêntese não significa nada no contexto.
Como o traço (como todos os outros shells) é um interpretador, ele não irá reclamar até que a execução atinja a linha problemática. Portanto, mesmo que o script tenha iniciado com sucesso em algum momento do seu teste, ele teria sido cancelado quando a linha 68 fosse atingida.
A linha shebang deve ser a primeira coisa no arquivo. Como você usa recursos bash, a primeira linha do arquivo deve ser #!/bin/bash
ou #!/usr/bin/env bash
.