Como instalo o 'repeat' no Ubuntu?

3

Esta pergunta do StackOverflow menciona um comando unix chamado ' repetir'. Parece que faz exatamente o que eu quero. Ao ler a pergunta e as respostas, acho que o usuário está no Mac OSX.

No entanto, esse comando não é instalado por padrão no Ubuntu, e não consigo encontrar o pacote a ser instalado para obtê-lo. O que devo instalar?

    
por Rory 21.12.2009 / 14:08

3 respostas

8

Não consigo encontrar este comando no Ubuntu. Não parece existir. Eu até acho muito estranho que o post no StackOverflow diga que é um comando builtin quando não consigo encontrá-lo no Ubuntu.

Editar: Como Matt observou, é um comando csh embutido. A seguir, dicas para fazer o mesmo com o bash.

Se o que você quer é repetir um comando n vezes, você pode fazer isso com um loop:

for i in {1..n}; do yourcommand; done

Por exemplo, para imprimir 100 vezes "Funciona", use:

for i in {1..100}; do echo "It works"; done

Se você quiser ter uma função repeat , adicione algo assim ao seu ~/.bashrc :

function repeat() { 
    local times="$1"; 
    shift; 
    local cmd="$@"; 

    for ((i = 1; i <= $times; i++ )); do 
       eval "$cmd"; 
    done 
 }

Fonte seu ~/.bashrc novamente com . ~/.bashrc e você pode chamá-lo:

 $ repeat 2 date
Mon Dec 21 14:25:50 CET 2009
Mon Dec 21 14:25:50 CET 2009

 $ repeat 3 echo "my name is $USER"
my name is raphink
my name is raphink
my name is raphink
    
por 21.12.2009 / 14:19
2

Você pode usar o watch, que é um comando padrão disponível em qualquer shell. Por exemplo:

watch -n 5 date
    
por 29.12.2009 / 22:41
1

No prompt, eu acho que é um csh embutido.

E a partir da leitura de "man csh", esse parece ser o caso

  repeat count command
           The specified command, which is subject to  the  same  restric-
           tions  as  the  command  in the one line if statement above, is
           executed count times.  I/O  redirections  occur  exactly  once,
           even if count is 0.

Portanto, para usá-lo, digite "csh" e o emita a partir da linha de comando, ou escreva seu script para que ele use #! / bin / csh como o interpretador no topo. Aqui estão alguns princípios básicos do csh para você começar.

    
por 21.12.2009 / 14:19