Por que eu deveria evitar loops em shells? [duplicado]

3

O seguinte link recomenda contra o uso de loops em shells.

variáveis bash no intervalo do loop

Por que isso? Aqui está um loop de exemplo que eu só estava olhando quando eu deparei com essa resposta:

find /etc/postinstall -name '*.sh' | while read script
do
  echo Running $script ...
  $script
  mv $script $script.done
done
    
por Steven Penny 26.04.2015 / 00:10

2 respostas

5

Dois tipos de aplicativos me vêm à mente onde os loops de shell não são considerados a melhor abordagem. O primeiro é o processamento de dados; muitas ferramentas (como sed , awk , perl , etc.) fazem o loop implicitamente e muito mais desempenho. A segunda é (como em seu código de amostra), onde algum código é executado para um conjunto de arquivos, onde find com a opção -exec também pode executar comandos (também um shell) com menos problemas e sobrecarga. Existem provavelmente mais casos, mas os dois mencionados já devem ser esclarecedores. Dito isto; loops de shell não são inerentemente ruins, ou algo assim. Apenas tome outras opções (como as duas mencionadas) em sua consideração.

    
por 26.04.2015 / 00:22
0

O Shell é uma péssima linguagem de programação, mas é muito útil. Eu escrevo vários scripts de shell e ocasionalmente uso loops. Eu tenho um script que leva algumas horas para ser executado. Precisa ser reescrito em outra coisa. Se você tem um loop em seu shell script, é um indicador de que talvez seja hora de começar a pensar em reescrever esse script antes que ele se torne completamente incontrolável.

    
por 26.04.2015 / 09:05

Tags