Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Atenção!]Loop infinito...

Olá, colegas de plataforma!
Ao escrever scripts, especialmente ao utilizar estruturas de repetição como o **while** é fundamental seguir boas práticas para evitar problemas como travamentos, alto uso de CPU ou até o crash da máquina.
Esses cuidados valem para qualquer linguagem de programação, desde Bash até Python, JavaScript, C e outras.

Pontos de atenção ao usar while

  • Indentação e clareza: garanta que seu código esteja bem estruturado para facilitar a leitura e manutenção.
  • Condição de parada: sempre verifique se a lógica do while está corretamente definida para que o loop não se torne infinito.
  • Incrementos ou mudanças de estado: certifique-se de que as variáveis usadas na condição estão sendo alteradas dentro do loop.
  • Tratamento de erros: proteja seu código contra entradas inesperadas que possam causar loops inesperados.

Exemplo de uso correto no Bash:

#!/bin/bash
contador=1
while [ $contador -le 5 ]; do
    echo "Contador: $contador"
    ((contador++))
    sleep 1
done

Neste exemplo, o loop executa apenas 5 vezes, como esperado.

E se o loop travar?

Se você acidentalmente criar um loop infinito, pode interrompê-lo com:

  • CTRL + C no terminal (se estiver em primeiro plano)
  • top + kill para localizar e encerrar o processo (se estiver rodando em segundo plano)

Alternativas ao while

Dependendo da linguagem, você pode evitar o uso de while em favor de estruturas mais seguras ou mais fáceis de controlar, como:

Bash:

  • for: útil quando você já sabe o número de iterações.
for i in {1..5}; do
    echo "Contador: $i"
done

Python:

  • for com range():
for i in range(1, 6):
    print(f"Contador: {i}")

JavaScript:

  • for clássico ou for...of:
for (let i = 1; i <= 5; i++) {
    console.log(`Contador: ${i}`);
}

C:

  • for tradicional:
for (int i = 1; i <= 5; i++) {
    printf("Contador: %d\n", i);
}

Em geral, prefira for quando souber o número de iterações, e use while apenas quando a repetição depender de uma condição que não pode ser conhecida de antemão.

Boas práticas ao trabalhar com loops

  • Evite dependência de variáveis externas não controladas.
  • Use break ou continue com moderação e por um bom motivo.
  • Inclua verificações de segurança quando necessário (timeout, número máximo de iterações, etc).
  • Documente a lógica do loop, principalmente se for complexa.
    Se você já enfrentou algum perrengue por esquecer a condição de parada no while compartilha aí nos comentários!
    Bons estudos e scripts mais seguros para todos.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas
solução!

Oi, Ronaldo! Como vai?

Agradeço por compartilhar.

Gostei da sua explicação sobre os cuidados ao usar o while, principalmente quando você destacou a condição de parada e a mudança de estado das variáveis, isso evita muitos dos problemas comuns em loops infinitos.

Continue compartilhando suas experiências com Bash e outras linguagens, isso ajuda muito quem está aprendendo.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Olá Lorena!
Obrigado por seu feedback!
:)