Uma matriz de matrizes é uma má idéia no shell (qualquer shell). Você precisa de algum outro idioma.
how is array
arrbeing defined.?a='domain.de;de;https' arr=(${a//;/ })
Funciona por:
- substituindo cada
;porspace - Assumindo que o IFS é espaço, tabulação, nova linha (o padrão)
- divisão no espaço (incluída no IFS), a expansão sem aspas de
${...} - atribuindo-o a uma matriz
(...) - e nomeando essa matriz
arr=.
What is the advantage of defining it like this?
Nenhum, apenas problemas:
- Se qualquer um dos elementos contiver um espaço, uma guia ou uma nova linha, ele será dividido.
- Como a globbing não foi desativada, qualquer
*,?ou[ ]será expandido para arquivos correspondentes. - Se o nullglob estiver ativo, qualquer string contendo
*,?ou[ ]será removida. - se o failglob estiver ativo, qualquer um dos caracteres anteriores gerará um erro.
Em suma, a divisão no shell está cheia de dicas.