Nem todos os shells definem uma variável UID
. Este é apenas um recurso bash e zsh. Em outros shells, a variável UID
não está definida, portanto, seu comando de teste se expande para [ -ne 0 ]
, que é um erro de sintaxe.
Uma forma portátil de obter o ID do usuário é com o utilitário id
.
if [ "$(id -u)" -ne 0 ]; then …