Ok, muitas pessoas não sabem disso, mas, por padrão, os links do Ubuntu /bin/sh
to dash
, não bash
. Você pode verificar isso com o seguinte:
ls -l /bin/sh
O shell dash
não suporta matrizes, pois bash
faz o que está explicado aqui .
Você pode verificar com qual shell você está aberto:
echo "$SHELL"
Dito isto, é muito estranho que programas pré-empacotados encontrem esse erro. Eu esperaria que eles já começassem com #!/bin/bash
se precisassem.
Você pode editar os scripts em questão para incluir #!/bin/bash
na parte superior.
Se um script não tiver uma linha "shebang" (o #!
e etc. na parte superior), o shell atual será o padrão para usar ./
para execução. Você pode alterar seu shell de login com chsh
seguido por sua senha quando solicitado e /bin/bash
quando solicitado. Você terá que relogar.
Se isso não ajudar, você também pode mudar o symlink (isso provavelmente não quebrará nada, mas YMMV):
sudo rm /bin/sh
sudo ln -s bash /bin/sh