bash
é uma linguagem interpretada e não precisa saber quanta memória deve ser alocada antecipadamente.
Portanto, é possível inicializar dinamicamente uma nova matriz sem declará-la ou expandir uma matriz já declarada para adicionar mais entradas, mas não é possível usar matrizes multidimensionais.
No entanto, isso pode ser falso: como você não forneceu uma tarefa exata para realizar, forneço um exemplo de script bash
que mostra como preencher uma tabela m x n
definida pelo usuário com números aleatórios (que não são realmente aleatórios, já que cada coluna sempre terá o mesmo número em todas as suas linhas em cada execução, mas isso não é relevante para a pergunta) e é impresso (simplificado de esta resposta de estouro de pilha):
#!/bin/bash
declare -a array
read -p 'm: ' m
read -p 'n: ' n
for ((i=0; i<m; i++))
do
for ((j=0; j<n; j++))
do
a[${i},${j}]=$RANDOM
done
done
for ((i=0; i<m; i++))
do
for ((j=0; j<n; j++))
do
echo -ne "${a[${i},${j}]}\t"
done
echo
done