
Il comando di sospensione fa in modo che il tuo computer Linux non faccia nulla. Forse è controintuitivo, ma ogni tanto ci vuole un periodo di inattività. Questo post mostra come utilizzare efficacemente questo comando della shell bash.
Usando sleep
È facile. Nel tipo da riga di comando sleep
, Uno spazio, un numero e poi premere Invio.
dormire 5
Il cursore scomparirà per cinque secondi e poi ritornerà. Cosa è successo? Usando sleep
sulla riga di comando dici a Bash di sospendere l'elaborazione per il tempo che hai fornito. Nel nostro esempio, erano cinque secondi.
Possiamo spostare le durate in sleep
in giorni, ore e minuti, così come in pochi secondi. Per fare questo, includere un suffisso di d, h, m,
oh s
con la durata. Per far fermare il sogno per un giorno, quattro ore, sette minuti e cinque secondi, usa un comando come questo:
dormire 1g 4h 7m 5s
il s
suffisso (per secondi) è facoltativo. Nessun suffisso sleep
tratterà qualsiasi durata come secondi. Supponi di voler avere sleep
pausa di cinque minuti e venti secondi. Un formato corretto per questo comando è:
dormire 5m 20
Se dimentichi di fornire il m
suffisso in minuto estensione, insegnerà sleep
mettere in pausa per cinque secondi e poi di nuovo per venti secondi. Quindi sleep
si fermerà per 25 secondi.
Molti comandi richiedono di fornire i parametri in un ordine specifico, ma sleep
è molto indulgente. Puoi fornirli in qualsiasi ordine e sleep
gli darà un senso. Inoltre puoi fornire un numero in virgola mobile come parametro. Come esempio, 0,5 h è un modo valido per indicare che vuoi sleep
prenditi una mezz'oretta di pausa.
Tutti i seguenti comandi (sempre più eccentrico) dicono sleep
fare una pausa da 10 secondi.
dormire 10
dormire 5 5S
Dormire 1 1 1S 1 1 1S 1 2
dormire 0,16667 m
Utilizzo della sospensione per mettere in pausa prima di un comando
il sleep
Utilizzo della sospensione per mettere in pausa prima di un comando. Utilizzo della sospensione per mettere in pausa prima di un comando 15 Utilizzo della sospensione per mettere in pausa prima di un comando.
dormire 15 && echo -en '07'
Utilizzo della sospensione per mettere in pausa prima di un comando
Puoi usare sleep
Utilizzo della sospensione per mettere in pausa prima di un comando. Utilizzo della sospensione per mettere in pausa prima di un comando, Utilizzo della sospensione per mettere in pausa prima di un comando:
ls -R ~/Documenti && dormire 5 && cd ~
Utilizzo della sospensione per mettere in pausa l'esecuzione dello script
Puoi usare il sleep
comando negli script di shell per mettere in pausa l'esecuzione dello script per un periodo di tempo preciso. Regolarmente, Lo farei per consentire ad alcune procedure di avere abbastanza tempo per essere completate prima che lo script continui la sua elaborazione. Puoi anche usarlo per limitare le richieste che uno script fa a un'altra risorsa.
Per dimostrare esattamente questo, Utilizzo della sospensione per mettere in pausa prima di un comando curl
. Utilizzo della sospensione per mettere in pausa prima di un comando ISBN numero di un libro, Utilizzo della sospensione per mettere in pausa prima di un comando. Utilizzo della sospensione per mettere in pausa prima di un comando jq
utility per recuperare il titolo del libro. In modo che lo script non sottolinei il servizio web, dormire per un secondo tra le richieste web.
Crea un file contenente il seguente testo e salvalo come check_book.sh
.
#!/bin/bash for book in `cat $1` do echo $book":" ricciolo -s https://www.googleapis.com/books/v1/volumes?q=isbn:$prenotare | jq '.elementi | .[] | .volumeInfo.title' echo "" dormire 1 done echo "Tutto fatto."
Digitare il comando seguente per determinare le autorizzazioni di esecuzione e rendere eseguibile lo script.
chmod +x check_book.sh
Lo script ha bisogno del curl
e jq
servizi di pubblica utilità. Utilizzo apt-get
per installare questi pacchetti sul tuo sistema se stai usando Ubuntu o un'altra distribuzione basata su Debian. Su altre distribuzioni Linux, usa lo strumento di gestione dei pacchetti della tua distribuzione Linux.
sudo apt-get install curl
sudo apt-get install jq
Crea un file di testo contenente i seguenti numeri e salvalo come books.txt
.
9781565921276 9781874416685 9781565921672 9780521431088 9781491941591
Corri il check_book.sh
script e passare il books.txt
file come parametro.
./check_book.sh libri.txt
Le richieste vengono effettuate al servizio web di Google a intervalli di un secondo. Il titolo del libro apparirà poco dopo aver consultato ciascun numero ISBN.
Questo è tutto quello che c'è da fare sleep
. Il funzionamento interno del check_book.sh
script vanno oltre lo scopo di questo post. La sceneggiatura è stata scelta unicamente per illustrare un valido uso del sleep
comando. Se vuoi saperne di più sui due componenti principali dello script, vedere il curl
pagina del progetto e il jq
Manuale in linea.