Para formar uma resposta a partir dos comentários:
Muitas pessoas com hábitos usam seus scripts com sh
em vez de bash
. Essa é uma boa prática se a portabilidade for uma preocupação, mas muitas pessoas fazem isso porque estão copiando algo que viram sem compreendê-la.
A menos que seu script precise ser executado em um sistema Linux que não seja de área de trabalho (por exemplo, executar scripts de shell em dispositivos Android é bem diferente), recomendo usar a linha Bash shebang no começo:
#!/bin/bash
Esta linha, quando é a primeira linha no script, determina qual interpretador (shell como bash ou sh, Python, etc.) é chamado para executá-lo. Se você usar a linha acima, você obterá o mesmo comportamento (quase) da linha de comando, assumindo que você usa o shell padrão. Se por razões de portabilidade ou preferência você usar uma linha shebang diferente, esteja ciente de que você terá que consultar a documentação para o shell que você referenciou, mesmo se o shell que você referencia é um link simbólico para Bash.