Pesquisa de site

Como executar um comando várias vezes no Linux


Por um motivo ou outro, você pode querer executar um comando repetidamente várias vezes no Linux. Este guia discutirá algumas das maneiras comuns e eficazes de conseguir exatamente isso. Vamos considerar o primeiro método.

Observe que se você pretende executar um comando após comando a cada x segundos, você pode verificar – Como executar ou repetir um comando Linux a cada X segundos

Execute um comando várias vezes no Linux usando um Bash for Loop

A maneira mais fácil de repetir um comando no shell Bash é executá-lo em um loop. Você pode usar a seguinte sintaxe, onde um contador é uma variável (você pode dar a ele um nome de sua escolha, como i ou x etc.) e n é um número positivo para representar o número de vezes que você deseja que o comando seja executado:

for counter in {1..n}; do yourCommand_here; done

Aqui está um exemplo:

for x in {1..10}; do echo "linux-console.net - The #1 Linux blog $x"; done

Execute um comando várias vezes no Linux usando um loop while

Relacionado ao método anterior, um loop while também pode ser usado para executar um comando várias vezes no Linux usando a seguinte sintaxe:

i=1; while [ $i -le n ]; do yourCommand_here; i=$(($i++)); done
OR
i=1; while [ $i -le n ]; do yourCommand_here; ((i++)); done

No formato acima, i representa a variável do contador, [ $i -le n ] é a condição de teste e n é o número de vezes você deseja executar o comando (idealmente, o número de vezes que o shell irá iterar no loop.

Outra parte importante do loop while é i=$ (($i+1)) ou (($i++)) que incrementa o contador até a condição de teste torna-se falso.

Portanto, você pode executar seu comando várias vezes assim (substitua 10 pelo número de vezes que deseja repetir o comando):

i=1; while [ $i -le 10 ]; do echo "linux-console.net - The #1 Linux blog $i";((i++)); done

Execute um comando várias vezes usando o comando seq

A terceira maneira de executar um comando várias vezes no Linux é usar o comando seq que imprime uma sequência de números de forma incremental em conjunto com o comando xargs neste formato:

seq 5 | xargs -I -- echo "linux-console.net - The #1 Linux blog"

Para adicionar a contagem no final de cada comando, use esta sintaxe:

seq 5 | xargs -n 1 echo "linux-console.net - The #1 Linux blog"

Além disso, verifique estes artigos relacionados:

  • 4 ferramentas úteis para executar comandos em vários servidores Linux
  • 4 maneiras de observar ou monitorar arquivos de log em tempo real
  • MultiTail – Monitore vários arquivos simultaneamente em um único terminal Linux

É tudo por agora. Se você conhece outros métodos para executar um comando várias vezes no Linux, informe-nos na seção de comentários abaixo.