Estou tentando verificar o seguinte que li aqui :
É importante lembrar que o shell executa todos os tipos de expansão que descrevemos em ordem. Isso significa que a expansão de palavras é executada antes da expansão do nome do caminho. Portanto, se você percorrer os resultados de um caminho expandido, a divisão de palavras não será realizada nesses resultados.
Eu escrevi um script muito simples que estou usando para verificar a citação acima sobre a ordem das operações de expansão de palavras e nomes de caminhos:
$ cat test.sh
for path in /home/john/Downloads/*.xlsx
do
echo "${path}"
done
O resultado
$ ./test.sh
/home/john/Downloads/CCIE-Collaboration-v3-Learning-Matrix.xlsx
/home/john/Downloads/x y.xlsx
Pelo que li, a expansão de palavras acontece antes da expansão de caminhos, e eles usaram um script muito semelhante a este para demonstrar isso. Mas na verdade não entendo como este exemplo demonstra isso. Pelo que posso ver, "caminho" é uma variável, e depois que a variável identificar um caminho, esse será $caminho. Então, onde uma palavra terra poderia entrar nisso, já que não consigo ver nenhuma palavra que possa ser considerada para expansão.
Para esclarecer, se executarmos a primeira iteração, $path ficará vazio até verificar "/home/john/Downloads/*.xlsx", momento em que será definido como "/home/john/Downloads/CCIE-Collaboration -v3-Learning-Matrix.xlsx", pois esta é a primeira entrada. Nesse ponto $path foi definido. Não houve oportunidade de aplicar a expansão de palavras (por exemplo, eles estão dizendo que a expansão de palavras é aplicada a "nulo" antes que o nome do caminho real defina o primeiro resultado)?