Se você quisesse executar os scripts em ordem lexicográfica crescente, poderia fazer
for x in *.sql; do
mysql <"$x"
done
Listar os arquivos em ordem descendente pode ser feito facilmente em zsh , graças ao
O qualificador de globo , mas não há recurso correspondente no bash. Em um prompt zsh:
for x in *.sql(On); do
mysql <"$x"
done
A propósito, se seus números não tiverem um 0 à esquerda, você pode usar (nOn) aqui, para classificar 9 foo.sql antes de 10 bar.sql .
Usando apenas programas que estão em uma instalação padrão (mais mysql ), você pode listar os arquivos, classificá-los conforme desejado com sort (ou diretamente inverta a ordem com tac ) e iterar sobre o resultado.
for x in *.sql; do echo "$x"; done |
tac |
while IFS= read -r script; do mysql <"$script"; done