
O comando Suspend faz com que o seu computador Linux não faça nada. Talvez seja contra-intuitivo, mas de vez em quando o que é necessário é um período de inatividade. Esta postagem mostra como usar este comando bash shell efetivamente.
Usando sleep
é facil. No tipo de linha de comando sleep
, um espaço, um número e pressione Enter.
dormir 5
O cursor desaparecerá por cinco segundos e depois retornará. O que aconteceu? Usando sleep
na linha de comando, você diz ao Bash para suspender o processamento pelo tempo que você forneceu. Em nosso exemplo, foram cinco segundos.
Podemos mover durações para sleep
em dias, horas e minutos, bem como em segundos. Para fazer isso, inclui um sufixo de d, h, m,
o s
com a duração. Para fazer o sonho parar por um dia, quatro horas, sete minutos e cinco segundos, use um comando como este:
dormir 1d 4h 7m 5s
a s
sufixo (por segundos) é opcional. Sem sufixo sleep
tratará qualquer duração como segundos. Suponha que você queira ter sleep
pausar por cinco minutos e vinte segundos. Um formato correto para este comando é:
dormir 5m 20
Se você esquecer de fornecer o m
sufixo em extensão de minuto, irá instruir sleep
pausar por cinco segundos e depois novamente por vinte segundos. Então sleep
vai parar para 25 segundos.
Muitos comandos exigem que você forneça parâmetros em uma ordem específica, mas sleep
é muito indulgente. Você pode fornecê-los em qualquer ordem e sleep
vai dar sentido a eles. Além disso, você pode fornecer um número de ponto flutuante como parâmetro. Como um exemplo, 0,5 h é uma maneira válida de indicar que você deseja sleep
faça uma pausa de meia hora.
Todos os comandos a seguir (cada vez mais excêntrico) eles dizem sleep
pausar 10 segundos.
dormir 10
dormir 5 5s
Dorme 1 1 1s 1 1 1s 1 2
dormir 0,16667m
Usando suspender para pausar antes de um comando
a sleep
O comando pode ser usado para pausar antes da execução de um comando. Este comando pausaria por 15 segundos e então ele apitaria.
dormir 15 && echo -en '07'
Usando suspender para pausar entre dois comandos
Você pode usar sleep
dar uma pausa entre dois comandos. Este comando listaria os arquivos em seu diretório de documentos, ele faria uma pausa de cinco segundos e, em seguida, mudaria o diretório de trabalho atual para o seu diretório inicial:
ls -R ~ / Documentos && dormir 5 && cd ~
Usando sleep para pausar a execução do script
Você pode usar o sleep
comando em scripts de shell para pausar a execução do script por um período de tempo preciso. Regularmente, Eu faria isso para permitir que algum procedimento tivesse tempo suficiente para ser concluído antes que o script continuasse seu processamento. Você também pode usá-lo para limitar as solicitações que um script faz a outro recurso.
Para demonstrar exatamente isso, aqui está um script que chama um serviço da web do Google usando curl
. Quando você consulta o serviço da web com o ISBN número de um livro, responde com um despejo de dados JSON sobre esse livro. Podemos analisar esses dados passando-os pelo jq
utilitário para recuperar o título do livro. Para que o script não estresse o serviço web, dormir por um segundo entre as solicitações da web.
Crie um arquivo contendo o seguinte texto e salve-o como check_book.sh
.
#!/bin/bash for book in `cat $1` do echo $book":" curl -s https://www.googleapis.com/books/v1/volumes?q = isbn:$livro | jq '.itens | .[] | .volumeInfo.title' echo "" dormir 1 done echo "Tudo feito."
Digite o seguinte comando para determinar as permissões de execução e tornar o script executável.
chmod +x check_book.sh
O script precisa do curl
e jq
Serviços de utilidade pública. Usar apt-get
para instalar esses pacotes em seu sistema se você estiver usando Ubuntu ou outra distribuição baseada em Debian. Em outras distribuições Linux, use a ferramenta de gerenciamento de pacotes de sua distribuição Linux.
sudo apt-get install curl
sudo apt-get install jq
Crie um arquivo de texto contendo os seguintes números e salve-o como books.txt
.
9781565921276 9781874416685 9781565921672 9780521431088 9781491941591
Execute o check_book.sh
script e passe o books.txt
arquivo como parâmetro.
./check_book.sh books.txt
As solicitações são feitas ao serviço da web do Google em intervalos de um segundo. O título do livro aparecerá logo após a consulta de cada número ISBN.
Isso é tudo que há para sleep
. O funcionamento interno do check_book.sh
script estão além do escopo desta postagem. O roteiro foi escolhido apenas para ilustrar um uso válido do sleep
comando. Se você quiser ler mais sobre os dois componentes principais do script, Veja o curl
página do projeto e ele jq
Manual Online.