Esimerkki 1:
Luo bash -tiedosto seuraavalla komentosarjalla. Kun suoritat komentosarjan, se jatkuu, kunnes käyttäjä painaa mitä tahansa näppäintä. Käsikirjoitus odottaa käyttäjän tuloa kolmen sekunnin välein ja jos käyttäjä ei paina mitään näppäintä, se tulostaa viestin, näppäimen painallusta odotellessa .
#!/bin/bash
heitti pois 'Paina mitä tahansa näppäintä jatkaaksesi'
sillä aikaa [ totta ];tehdä
lukea -t 3 -n 1
jos [ $?=0 ];sitten
poistua;
muu
heitti pois 'odotan näppäimen painallusta'
olla
tehty
Suorita komentosarja.
$lyödäkey1.sh
Lähtö:
Esimerkki#2:
Luo bash -tiedosto seuraavalla komentosarjalla. Tässä esimerkissä käytetään ääretöntä silmukkaa, joka päättyy, kun käyttäjä painaa ”q”. Jos käyttäjä painaa mitä tahansa näppäintä ilman 'q', laskurimuuttujan arvoa suurennetaan yhdellä ja tulostetaan arvo.
#!/bin/bashheitti pois 'Poistu painamalla' q '
Kreivi=0
sillä aikaa:;tehdä
lukea -n 1kohteeseen<&1
jos [[ $ k= q]];sitten
printf '' nOhjelmasta lopettaminen n''
tauko
muu
((Kreivi=$ määrä+1))
printf '' nToista puolesta$ määräajat n''
heitti pois 'Poistu painamalla' q '
olla
tehty
Suorita komentosarja.
$lyödäkey2.sh
Lähtö:
Esimerkki#3:
Luo bash -tiedosto seuraavalla komentosarjalla, joka suorittaa erityyppisiä tehtäviä käyttäjän painaman näppäimen perusteella. Jos käyttäjä painaa ”1”, se lisää kaksi komentoriviargumenttia ja tulostaa. Jos käyttäjä painaa ”2”, se vähentää kaksi komentoriviargumenttia ja tulostaa. Skripti suoritetaan jatkuvasti, kunnes käyttäjä painaa '3'.
#!/bin/bashv1=$ 1
v2=2 dollaria
sillä aikaa:
tehdä
heitti pois '' 1. Lisäys'
heitti pois '2. Vähennyslasku'
heitti pois '3. Lopettaa'
heitti pois -n '' Tyyppi 1 tai 2 tai 3: ''
lukea -n 1 -t viisitoistakohteeseen
printf '' n''
tapaus $ a sisään
1* ) heitti pois ''$ v1+$ v2=$ (($ v1+$ v2)) '';;
2* ) heitti pois ''$ v1-$ v2=$ (($ v1- $ v2)) '';;
3* ) poistua 0;;
* ) heitti pois 'Yritä uudelleen.';;
esac
tehty
Suorita komentosarja kahdella numeerisella argumenttiarvolla.
$lyödäkey3.sh35 viisitoistaLähtö:
Esimerkki#4:
Luo bash -tiedosto seuraavalla komentosarjalla. Ohjelma päättyy, kun käyttäjä painaa ESC -näppäintä. Tämä skripti tulostaa käyttäjän painamia näppäimiä, kunnes ESC -näppäintä painetaan.
#!/bin/bashkäyttäjän syöttö=''
heitti pois 'Lopeta painamalla ESC -näppäintä'
# lue yksi merkki
sillä aikaa lukea -r -n1näppäintä
tehdä
# jos syöte == ESC -näppäin
jos [[ $ -avain== $'Ja' ]];
sitten
tauko;
olla
# Lisää avain käyttäjän painamaan muuttujaan.
käyttäjän syöttö+=$ -avain
tehty
printf '' nOlet kirjoittanut:$ userinput n''
Suorita komentosarja.
$lyödäkey4.shLähtö:
Esimerkki#5:
Luo bash -tiedosto seuraavalla koodilla, joka odottaa ENTER -näppäimen lopettavan komentosarjan. Skripti käyttää syötteenä palvelimen nimeä ja yrittää pingata palvelinta kahden sekunnin välein. Jos ping -komento saa vastauksen palvelimelta, se lopettaa komentosarjan näyttämällä tuloksen, muuten se odottaa käyttäjän vastausta tai ENTER -näppäintä tulostamalla viestin, Yritetään muodostaa yhteys….
#!/bin/bashheitti pois 'Anna palvelimen osoite, johon haluat pingittää'
lukeapalvelin
sillä aikaa ! ping -c 1 -n -SISÄÄN 2 $ palvelin
tehdä
heitti pois 'Yritetään muodostaa yhteys$ palvelin''
heitti pois 'Lopeta painamalla [ENTER]'
lukea -s -N 1 -t 1näppäintä
jos [[ $ -avain== $' x0a' ]];# jos syöte == ENTER -näppäin
sitten
poistua 0
olla
tehty
printf '%s n'' ''$ palvelinjuoksee'
Suorita komentosarja.
$lyödäkey5.shLähtö:
Johtopäätös:
Tämä opetusohjelma näyttää, kuinka voit kirjoittaa bash -komentosarjan eri tavoilla, jotka odottavat käyttäjän tuloa suorittamaan tietyn tehtävän tai lopettaa komentosarjan. Toivottavasti yllä olevien esimerkkien harjoittamisen jälkeen pystyt kirjoittamaan komentosarjan siten, että voit odottaa mitä tahansa näppäimen painallusta ja suorittaa tietyn tehtävän käyttäjän painaman näppäimen perusteella.