Tarkista ensin "read" -komennon perussyntaksi:
luku [vaihtoehto] muuttuja“Read” -komennon käyttäminen tarkoittaa, että olet vuorovaikutuksessa Bashin kanssa saadaksesi tietoja käyttäjältä. Se tallentaa arvon muuttujaan, mutta ilman$”-Merkki. Pystyt ymmärtämään tämän käsitteen paremmin esimerkillä.
Esimerkki 1: ”Lue” -komennon käyttäminen Bash-komentosarjassa
Tarkastellaksemme “read” -komentoa perusteellisemmin luomme yksinkertaisen komentosarjan, joka pyytää käyttäjän nimeä. Avaa ensin mikä tahansa tekstieditori; tässä opetusohjelmassa käytän Vim-tekstieditoria monien hyödyllisten ominaisuuksiensa vuoksi. Asenna Vim suorittamalla seuraava komento päätelaitteessa:
$ sudo apt install vimKirjoita seuraavaksi tekstitiedostoon seuraava:
#! \ bin \ bashkaiku "Kirjoita nimesi"
lue nimi
kaiku "Nimesi on" $ nimi
Tallenna tiedosto millä tahansa nimellä ja paina sitten poistu ja kirjoita “: w readcom.sh.”Suorita komentosarja suorittamalla seuraava komento:
$ bash readcom.shYllä oleva komentosarja pyytää käyttäjää kirjoittamaan nimensä. Sitten komento “read” tallentaa käyttäjän syötteen. Seuraava rivi tulostaa käyttäjän kirjoittaman nimen.
Esimerkki 2: Koodin yksinkertaistaminen "kehote" -operaattorilla
Yllä olevaa esimerkkiä voidaan yksinkertaistaa edelleen käyttämälläkehote”Operaattori. Kirjoitetaan yllä oleva esimerkki uudelleen ymmärtämään koodi:
#! / bin / bashlue -p "Kirjoita nimesi" -nimi
kaiku "Nimesi on" $ nimi
Esimerkki 3: Käyttäjätietojen piilottaminen "salainen / hiljainen" -operaattorilla
"-s”-Lippua voidaan käyttää käyttäjän syötteen piilottamiseen. Seuraava Bash-komentosarjaesimerkki näyttää, kuinka “-s” -operaattoria käytetään:
#! / bin / bashlue -p "Kirjoita käyttäjänimesi" käyttäjänimi
lue -s -p “Kirjoita salasanasi” $ salasana
Esimerkki 4: Merkin pituuden rajoittaminen
"-n”-Lippua voidaan käyttää lisäämään rajoitusta käyttäjän syöttämien merkkien määrään.
#!/ bin / bashlue -n 8 -p “Kirjoita käyttäjänimesi, joka ei ylitä 8 merkkiä” käyttäjänimi
echo "Käyttäjänimesi on" $ käyttäjänimi
”-N” -vaihtoehdon avulla käyttäjä voi silti kirjoittaa alle kahdeksan merkkiä. Voit rajoittaa syötteen pituutta edelleen-N”-Lippua voidaan käyttää, mikä rajoittaa käyttäjän vastauksen täsmälleen kahdeksaan merkkiin.
Esimerkki 5: Syötteen saaminen taulukossa
Käyttäjä voi syöttää myös taulukon "-a”Lippu. Esimerkiksi käyttäjän nimen, iän ja sähköpostiosoitteen saamiseksi kerralla voimme käyttää taulukkoa. Katsotaanpa esimerkkiä:
#! / bin / bashkaiku "Kirjoita nimesi, ikäsi ja sähköpostiosoitteesi"
lue - taulukon nimen ikä sähköposti
kaiku "Nimesi, ikäsi ja sähköpostiosoitteesi ovat: $ array [@] nimi ikä sähköposti"
kaiku "Nimesi ja ikäsi ovat: $ array [@]: 0: 1 nimen ikä"
kaiku "Sähköpostiosoitteesi on: $ array [2] sähköposti"
- ”$ Array [@]” selaa kaikkia muuttujia.
- Jos haluat toistaa hakemistot 0-1, käytä muuttujien nimillä ”$ array [@]: 0: 1”.
- Saadaksesi tietyn muuttujan arvon tietystä hakemistosta, käytä muuttujan nimellä ”$ array [2]”.
Esimerkki 6: Aikakatkaisun lisääminen “read” -komentoon
Kuten komennon nimi osoittaa, koodin lukemisen ehdoksi voidaan lisätä aikakatkaisu käyttämällä -t-lippua, joka saa käyttäjän syöttämään tietyn ajan tiedot. Muussa tapauksessa ohjelma siirtyy seuraavalle koodiriville.
#! \ bin \ bashkaiku “Mikä on Japanin pääkaupunki? Vastaa 5 sekunnin kuluttua ”
Lue -t 5 vastaus
jos [“$ answer” = “tokyo”] || [”$ Answer” = “Tokio”];
sitten
kaiku “Vastauksesi on oikea!”
muu
kaiku “Vastauksesi on väärä!”
fi
Johtopäätös
Tulon saaminen käyttäjän syötteestä on yksi ohjelmoinnin tärkeimmistä osista, mikä tekee ohjelmistasi interaktiivisempia. Tässä artikkelissa kerrotaan, kuinka "read" -komentoa, yhtä Bash-komentosarjan avainkomennoista, käytetään. Tässä artikkelissa opit joistakin erilaisista lähestymistavoista, joita voit käyttää "read" -komennolla, lipun perusoperaattoreista edistyneisiin operaattoreihin.