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.