Uma resposta de trabalho:
eval newArray=($(for i in "${arra[@]}" ; do echo "\"$i\"" ; done | sort -u))
Funciona com espaços nos elementos da matriz, como em 'Red Hat'
: você precisa imprimir as cotações ""
em torno do valor da variável ("\"$i\"")
e eval
o resultado.
Uma alternativa mais elegante
eval newArray=($(printf "%q\n" "${arra[@]}" | sort -u))
onde o formato %q
é necessário para citar a saída de printf
.