Miega komanda liek jūsu Linux datoram darītneko. Iespējams, ka tas ir pretrunīgi intuitīvs, bet bezdarbības periods dažreiz ir tieši tas, kas vajadzīgs. Šajā rakstā parādīts, kā efektīvi izmantot šo Bash apvalka komandu.
Izmantojot sleep
ir viegli. Par komandrindas tipu sleep
, atstarpi, skaitli un pēc tam nospiediet taustiņu Enter.
sleep 5
Kursors pazudīs piecas sekundes un pēc tam atgriezīsies. Kas notika? Izmantojot sleep
komandrindā uzdod Bašam apturēt apstrādi uz jūsu norādīto laiku. Mūsu piemērā tās bija piecas sekundes.
Mēs varam pagarināt ilgumu sleep
dienās, stundās un minūtēs, kā arī sekundēs. Lai to izdarītu, iekļaujiet sufiksu d, h, m,
vai s
ar ilgumu. Lai miegu pārtrauktu uz vienu dienu, četrām stundām, septiņām minūtēm un piecām sekundēm, izmantojiet šādu komandu:
sleep 1d 4h 7m 5s
Uz s
piedēklis (dažām sekundēm) nav obligāts. Bez piedēkļa, sleep
jebkuru ilgumu uzskatīs par sekundēm. Pieņemsim, ka jūs gribējāt sleep
pauze piecas minūtes un divdesmit sekundes. Viens pareizais šīs komandas formāts ir:
sleep 5m 20
Ja esat aizmirsis sniegt m
sufiksu par minūtes ilgumu, jūs norādīsit sleep
pārtraukt piecas sekundes un tad atkal divdesmit sekundes. Tātad sleep
tiks apturēts 25 sekundes.
Daudzas komandas pieprasa, lai jūs norādītu parametrus noteiktā secībā, bet sleep
ir ļoti piedodošs. Jūs varat tos nodrošināt jebkurā secībā un sleep
no viņiem būs jēga. Kā parametru var norādīt arī peldošā komata numuru. Piemēram, 0,5h ir piemērots veids, kā norādīt uz vēlmi sleep
pārtraukt pusstundu.
Visas šīs (arvien ekscentriskākās) komandas stāsta sleep
uz 10 sekundēm pārtraukt.
sleep 10
sleep 5 5s
Sleep 1 1 1s 1 1 1s 1 2
sleep 0.16667m
Miega režīma izmantošana, lai apturētu komandu pirms komandas
Uz sleep
komandu var izmantot, lai dotu pauzi pirms komandas izpildes. Šī komanda apturētu 15 sekundes un pēc tam atskanētu signāls.
sleep 15 && echo -en ' 07'
Miega režīma izmantošana pauzei starp divām komandām
Tu vari izmantot sleep
dot pauzi starp divām komandām. Šī komanda uzskaitītu failus jūsu direktorijā Dokumenti, apturētu piecas sekundes un pēc tam mainītu pašreizējo darba direktoriju uz jūsu mājas direktoriju:
ls -R ~/Documents && sleep 5 && cd ~
Miega režīma izmantošana, lai apturētu skripta izpildi
Jūs varat izmantot sleep
komanda čaulas skriptos, lai apturētuskriptu precīzam laika periodam. Parasti jūs to darāt, lai kaut kādam procesam būtu pietiekami daudz laika, lai pabeigtu, pirms skripts turpina apstrādi. Varat arī to izmantot, lai novērtētu un ierobežotu skripta pieprasījumu citam resursam.
Precīzi to parādot, šeit ir skripts, kas izsauc Google tīmekļa pakalpojumu, izmantojot curl
. Ja vaicājat tīmekļa pakalpojumu ar grāmatas ISBN numuru, tas atbild ar JSON datu izklāstu par šo grāmatu. Mēs varam parsēt šos datus, nododot tos caur jq
lietderība grāmatas nosaukuma iegūšanai. Lai skripts neuzsvērtu tīmekļa pakalpojumu, tas vienu sekundi guļ starp tīmekļa pieprasījumiem.
Izveidojiet failu, kurā ir šāds teksts, un saglabājiet to kā check_book.sh
.
#!/bin/bash for book in `cat $1` do echo $book":" curl -s https://www.googleapis.com/books/v1/volumes?q=isbn:$book | jq '.items | .[] | .volumeInfo.title' echo "" sleep 1 done echo "All done."
Ievadiet šo komandu, lai iestatītu izpildes atļaujas un padarītu skriptu izpildāmu.
chmod +x check_book.sh
Skriptam nepieciešama curl
un jq
komunālie maksājumi. Izmantojiet apt-get
instalēt šīs paketes savā sistēmā, ja izmantojat Ubuntu vai citu Debian balstītu izplatīšanu. Citos Linux izplatījumos tā vietā izmantojiet sava Linux izplatīšanas pakotņu pārvaldības rīku.
sudo apt-get install curl
sudo apt-get install jq
Izveidojiet teksta failu ar šādiem numuriem un saglabājiet to kā books.txt
.
9781565921276 9781874416685 9781565921672 9780521431088 9781491941591
Palaist check_book.sh
skriptu un caurlaide books.txt
fails kā parametrs.
./check_book.sh books.txt
Pieprasījumi tiek iesniegti Google tīmekļa pakalpojumam ar vienas sekundes intervālu. Grāmatas nosaukums parādīsies neilgi pēc katra ISBN numura pieprasīšanas.
Tas viss ir jādara sleep
. Iekšējās sistēmas darbība check_book.sh
skripts ir ārpus šī raksta darbības jomas. Skripts tika izvēlēts tikai tāpēc, lai ilustrētu sleep
komanda. Ja vēlaties uzzināt vairāk par diviem galvenajiem skripta komponentiem, skatiet curl
projekta lapa un jq
tiešsaistes rokasgrāmata.