1. piemērs:
Izveidojiet bash failu ar šādu skriptu. Palaižot skriptu, tas turpināsies, līdz lietotājs nospiež jebkuru taustiņu. Skripts gaidīs lietotāja ievadi ik pēc 3 sekundēm, un, ja lietotājs nenospiež nevienu taustiņu, tas izdrukā ziņojumu, gaidot taustiņu nospiešanu .
#!/bin/bash
izmest ārā 'Nospiediet jebkuru taustiņu lai turpinātu'
kamēr [ taisnība ];darīt
lasīt -t 3 -n 1
ja [ $?=0 ];tad
Izeja;
citādi
izmest ārā 'gaidu taustiņu nospiešanu'
būt
darīts
Palaidiet skriptu.
$bashkey1.sh
Izeja:
2. piemērs:
Izveidojiet bash failu ar šādu skriptu. Šajā piemērā tiek izmantota bezgalīga cilpa, kas beigsies, kad lietotājs nospiedīs “q”. Ja lietotājs nospiež jebkuru taustiņu bez “q”, skaitītāja mainīgā vērtība tiks palielināta par 1 un izdrukāta.
#!/bin/bashizmest ārā 'Nospiediet' q ', lai izietu
saskaitīt=0
kamēr:;darīt
lasīt -n 1uz<&1
ja [[ $ k= q]];tad
printf ' nIziešana no programmas n'
pārtraukums
citādi
((saskaitīt=$ skaits+1))
printf ' nAtkārtojiet par$ skaitsreizes n'
izmest ārā 'Nospiediet' q ', lai izietu
būt
darīts
Palaidiet skriptu.
$bashkey2.sh
Izeja:
3. piemērs:
Izveidojiet bash failu ar šādu skriptu, kas veiks dažāda veida uzdevumus, pamatojoties uz lietotāja nospiesto taustiņu. Ja lietotājs nospiež “1”, tas pievienos divus komandrindas argumentus un drukās. Ja lietotājs nospiež “2”, tas atņem divus komandrindas argumentus un izdrukā. Skripts darbosies nepārtraukti, līdz lietotājs nospiež “3”.
#!/bin/bashv1=$ 1
v2=2 ASV dolāri
kamēr:
darīt
izmest ārā “1. Papildinājums'
izmest ārā “2. Atņemšana ”
izmest ārā “3. Iziet '
izmest ārā -n '1. vai 2. vai 3. tips:'
lasīt -n 1 -t piecpadsmituz
printf ' n'
gadījumā $ a iekšā
1* ) izmest ārā '$ v1+v2 $=$ (($ v1+$ v2)) '';;
2* ) izmest ārā '$ v1-v2 $=$ (($ v1- $ v2)) '';;
3* ) Izeja 0;;
* ) izmest ārā 'Mēģini vēlreiz.';;
esac
darīts
Palaidiet skriptu ar divām ciparu argumentu vērtībām.
$bashkey3.sh35 piecpadsmitIzeja:
4. piemērs:
Izveidojiet bash failu ar šādu skriptu. Skripts tiks pārtraukts, kad lietotājs nospiedīs ESC taustiņu. Šis skripts drukās lietotāja nospiestos taustiņus, līdz tiek nospiests taustiņš ESC.
#!/bin/bashlietotāja ievade=''
izmest ārā 'Nospiediet taustiņu ESC, lai izietu'
#lasiet vienu rakstzīmi
kamēr lasīt -r -n1taustiņu
darīt
# ja ievade == ESC taustiņš
ja [[ $ atslēga== $'Un' ]];
tad
pārtraukums;
būt
# Pievienojiet atslēgu mainīgajam, kuru nospiež lietotājs.
lietotāja ievade+=$ atslēga
darīts
printf ' nJūs esat ierakstījis:$ userinput n'
Palaidiet skriptu.
$bashkey4.shIzeja:
5. piemērs:
Izveidojiet bash failu ar šādu kodu, kas gaidīs, līdz ENTER taustiņš pārtrauks skriptu. Skripts kā ievadi ņems servera nosaukumu un ik pēc 2 sekundēm mēģinās pingēt serveri. Ja ping komanda saņem atbildi no servera, tā pārtrauc skriptu, parādot izvadi, pretējā gadījumā tā gaidīs lietotāja atbildi vai ievadīšanas taustiņu, izdrukājot ziņojumu, mēģinot izveidot savienojumu ar….
#!/bin/bashizmest ārā 'Ievadiet servera adresi, kuru vēlaties pingēt'
lasītserveris
kamēr ! ping -c 1 -n -IN 2 $ serveris
darīt
izmest ārā 'Mēģinu izveidot savienojumu ar$ serveris'
izmest ārā 'Nospiediet [ENTER], lai pārtrauktu'
lasīt -s -N 1 -t 1taustiņu
ja [[ $ atslēga== $' x0a' ]];# ja ievade == ENTER taustiņš
tad
Izeja 0
būt
darīts
printf '%s n' '$ serverisskrien'
Palaidiet skriptu.
$bashkey5.shIzeja:
Secinājums:
Šī apmācība parāda, kā jūs varat rakstīt bash skriptu dažādos veidos, kas gaidīs, kad lietotāja ievade veiks kādu konkrētu uzdevumu vai pārtrauks skriptu. Ceru, ka, praktizējot iepriekš minētos piemērus, jūs varēsit rakstīt skriptu tā, lai varētu gaidīt jebkuru taustiņa nospiešanu un veikt konkrēto uzdevumu, pamatojoties uz lietotāja nospiesto taustiņu.