Esmalt vaadake käsu “read” põhisüntaksit:
loe muutuja [variant]Käsu “read” kasutamine tähendab, et suhtlete kasutajaga teabe hankimiseks Bashiga. See salvestab väärtuse muutujasse, kuid ilma$”Märk. Näite abil saate seda mõistet paremini mõista.
Näide 1: käsu „read” kasutamine Bashi skriptis
Käsu “read” põhjalikumaks uurimiseks loome lihtsa skripti, mis küsib kasutaja nime. Esiteks avage mis tahes tekstiredaktor; selle õpetuse jaoks kasutan Vim-tekstiredaktorit selle paljude kasulike funktsioonide tõttu. Vimi installimiseks käivitage terminalis järgmine käsk:
$ sudo apt install vimSeejärel tippige tekstifaili järgmine tekst:
#! \ bin \ bashkaja "Palun sisestage oma nimi"
loe nime
kaja "Teie nimi on" $ nimi
Salvestage fail mis tahes nimega ja seejärel vajutage Esc ja tippige “: w readcom.sh.”Skripti käivitamiseks väljastage järgmine käsk:
$ bash readcom.shÜlaltoodud skript palub kasutajal kirjutada oma nimi. Seejärel salvestab käsk “read” kasutaja sisendi. Järgmine rida prindib kasutaja sisestatud nime.
Näide 2: Koodi lihtsustamine operaatori „viip” abil
Ülaltoodud näidet saab veelgi lihtsustada, kasutadesviip”Operaator. Kirjutame koodi mõistmiseks ülaltoodud näite uuesti:
#! / bin / bashloe -p nimi “Palun sisesta oma nimi”
kaja "Teie nimi on" $ nimi
Näide 3: Kasutaja sisendi peitmine operaatori „salajane / vaikne” abil
"-s”Lippu saab kasutada kasutaja sisendi peitmiseks. Järgmine Bashi skripti näide näitab, kuidas kasutada operaatorit -s:
#! / bin / bashread -p "Palun sisestage oma kasutajanimi" kasutajanimi
loe -s -p “Palun sisestage oma parool” $ parool
Näide 4: märgi pikkuse piiramine
"-n”Lipuga saab lisada piirangu märkide arvule, mida kasutaja võib sisestada.
#!/ bin / bashread -n 8 -p "Palun sisestage oma kasutajanimi, mis ei tohi ületada 8 tähemärki" kasutajanimi
echo "Teie kasutajanimi on" $ kasutajanimi
Valiku „-n” abil saab kasutaja kirjutada ikkagi vähem kui kaheksa tähemärki. Sisendpikkuse täiendavaks piiramiseks kuvatakse-N”Saab kasutada lippu, mis piirab kasutaja vastust täpselt kaheksa tähemärgiga.
Näide 5: massiivi sisendi saamine
Kasutaja sisendi saab võtta ka massiivi, mille-a”Lipp. Näiteks saame kasutaja nime, vanuse ja e-posti aadressi ühe korraga hankimiseks kasutada massiivi. Vaatame näidet:
#! / bin / bashkaja "Palun sisestage oma nimi, vanus ja e-posti aadress"
loe - massiivi nime vanuse e-posti aadress
kaja "Teie nimi, vanus ja e-posti aadress on: $ array [@] nimi vanuse e-post"
kaja "Teie nimi ja vanus on: $ array [@]: 0: 1 nime vanus"
kaja "Teie e-posti aadress on: $ array [2] e-post"
- „$ Array [@]” viib läbi kõik muutujad.
- Indeksite 0 kuni 1 kordamiseks kasutage muutujate nimedega "$ array [@]: 0: 1".
- Kindla muutuja väärtuse saamiseks kindlas indeksis kasutage muutuja nimega „$ array [2]”.
Näide 6: Taimingu lisamine käsule „lugemine”
Nagu käsu nimi osutab, saab koodi lugemise tingimusena lisada ajalõpu, kasutades lippu -t, mis paneb kasutaja sisestama konkreetse aja teabe. Vastasel juhul liigub programm järgmisele koodireale.
#! \ bin \ bashkaja “Mis on Jaapani pealinn? Vasta 5 sekundi pärast ”
loe -t 5 vastus
kui [“$ answer” = “tokyo”] || [“$ Answer” = “Tokyo”];
siis
kaja “Teie vastus on õige!”
muud
kaja “Teie vastus on vale!”
fi
Järeldus
Kasutaja sisendist sisendi saamine on programmeerimise üks olulisemaid osi, mis muudab teie programmid interaktiivsemaks. See artikkel näitas, kuidas kasutada käsku „read”, mis on üks Bashi skriptimise võtmekäske. Selles artiklis õppisite mõningaid erinevaid lähenemisviise, mida saate käsuga "lugeda" kasutada, alates lipu põhioperaatoritest kuni arenenud operaatoriteni.