O que é a "Ordem de Operações" do Bash ao analisar um comando?

2

Dado um comando inserido em um prompt bash normal, como o bash lê essa linha depois que você pressiona enter? ele faz substituição de variável e substituição de comando? ou ele faz a expansão bash primeiro? ou o que?

Dado o comando abaixo, o que o bash começa a terminar?

for i in *.meow; do 
   cat <<WUTLOL
   FILE ${PWD}/$i
   WUTLOL
   scp $i $(grab_server.sh kitten_blast{1..3}): 
done
    
por user488244 10.01.2013 / 05:26

1 resposta

3

O Wiki do Bash explica isso muito bem. Parafraseando:

  1. Ler dados para executar
  2. Processar cotações
  3. Divida os dados de leitura em comandos
  4. Analisar operadores especiais
  5. Executar expansões
  6. Divida o comando em um nome de comando e argumentos
  7. Execute o comando
por 10.01.2013 / 14:55

Tags