Em bash
, para chamar (referir) uma função basta usar o nome da função, ()
não deve ser usado.
Portanto, altere call()
para apenas call
para se referir à função definida chamada call
.
Observe que você ainda precisa de ()
no tempo de declaração da função.
Assim, por exemplo, ao declarar:
foobar () { .... ;}
Enquanto se refere:
foobar
Em sh
( dash
), a referência call()
será silenciosamente ignorada sem gerar um erro e o shell passará para a próxima linha do script.
Além disso, a menos que tenha certeza, é melhor usar bash
para executar esses tipos de scripts para evitar surpresas.
Além disso, há muitas coisas que podem ser melhoradas em seu código, o que está fora do escopo desta questão.