BASH-ohjelmointi

Kuinka kysyn syötettä Bashissa?

Kuinka kysyn syötettä Bashissa?

Bash-komentosarjaa luodessa on usein tarpeen suorittaa laskelmia käyttäjän panoksista riippuen. Ennen tämän oppaan suorittamista, ennen kuin suoritat perustoiminnon shell-komentosarjalla, katsotaan ensin vilkaisu käyttäjän syötteiden tulkinnassa ja vahvistamisessa. Tulkitsemme Bash-käyttäjän syötteen integroidulla Bash-lukukomennolla. Lukukomento vie jonkin arvon käyttäjän syötteeksi ja allokoi sen muuttujalle. Se luki vain yksinäisen rivin Bash-komentoterminaalin kautta. Tässä oppaassa opit tulkitsemaan päätelaitteen ja komentosarjan käyttäjän syötteet.

Lukukomennon toteuttamiseksi tässä on syntaksi:

lukea

Esimerkki 01:

Otetaan yksinkertainen esimerkki käyttäjän syötteen lukemisesta bashissa pyydettäessä. Avaa pääte ja luo uusi tiedostotulo.sh ”.

Avaa tiedosto ja lisää siihen pieni koodi alla olevan mukaisesti. Ensinnäkin kaikulauseke pyytää käyttäjää lisäämään syöttöarvoa. Luettua lausetta käytetään käyttäjän arvon syöttämiseen, joka tallennetaan muuttujaan "NAME". Viimeistä kaikujoustetta käytetään vastauksen tulostamiseen, jonka arvo on $ NAME muuttuja.

Suorita tiedosto bash-komennolla. Ensinnäkin se pyytää nimeä. Kun käyttäjä syöttää arvon “Aqsa”, se tulostaa viestin, jonka arvo on siinä.

Esimerkki 02:

Avaa vanha tiedosto ja kirjoita alla oleva koodi siihen. Voimme käyttää integroitua lukukomentoa; käyttäjälle, jolla on kysely, käyttämällä -p-vaihtoehtoa. Sinun on kutsuttava käyttämään "readline" -avainsanaa -e, jotta rivin muokkaaminen nuolinäppäimillä sallitaan. Tämän jälkeen tulosta muuttujalla käyttäjän kirjoittaman komennon kuoreen kirjoittaman tiedoston polku.

Tarkistetaan tämän koodin lähtö terminaalin bash-komennolla. Näet, että se pyytää tiedostopolun kirjoittamista kuoreen. Kun syötät vaaditun arvon ja painat Enter, se tulostaa sen.

$ bash-syöttö.sh

Jos haluat ehdottaa vastausta, sinun on käytettävä avainsanaa "-i" merkkijonon jälkeen, polku käänteisissä pilkuissa.

Tarkistetaan päivitetyn koodin ulostulo bash-komennolla. Huomaat, että se ehdottaa sinulle tiedostopolkua kuten alla.

Esimerkki 03:

Otetaan toinen esimerkki kyselystä syötteestä kuoressa. Kirjoita alla oleva koodi tiedostotuloon.sh ”. Meillä on kaksi lukukomentoa käyttäjän kirjautumistietojen lisäämiseksi kuoreen. Avainsanaa "-sp" käytetään piilottamaan tunnistetiedot "Salasana", kun syötät komentotulkin.

Suorituksen yhteydessä voit nähdä, että käyttäjä on syöttänyt tunnistetietonsa salasanan piilossa kirjoittaessaan. Loppujen lopuksi se on esittänyt viestin, jonka tulee maksaa käyttäjälle.

Esimerkki 04:

Meillä on toinen esimerkki lukea useita auton nimiä arvoina käyttäjän bash-kuoresta. Tätä tarkoitusta varten tarvitsimme kolme muuttujaa: "car1", "car2" ja "car3". Meillä on kaikukommentti, joka pyytää autojen nimiä. Lukukomentoa käytetään kuoressa olevan käyttäjän lukemiin syötettyihin arvoihin (autojen nimiin). Seuraavat kolme kaikulausetta tulostavat viestit auton nimillä peräkkäin.

Suorita tiedosto bash-komennolla. Se kysyy haluamiesi autojen nimiä. Kun käyttäjä syöttää autojen nimet peräkkäin, se tallentaa ne lukukomennon muuttujiin ja tulostaa ne käyttämällä seuraavia kolmea kaiulausetta yksitellen.

Esimerkki 05:

Yllä olevassa esimerkissä olemme nähneet, kuinka kehotetaan käyttäjää syöttämään samalla, kun tallennamme syötteen kolmeen muuttujaan. Tässä esimerkissä opitaan, kuinka yhden muuttujan käyttäjän syötetyt arvot voidaan lukea taulukon jäseninä avainsanalla "-a". Joten avaa sama tiedosto ja kirjoita alla oleva koodi siihen. Kaiku lauseke pyytää sinua syöttämään tarvittavan syötteen. Luetulla lauseella on avainsana "-a", jotta käyttäjä voi ottaa useita arvoja ja tallentaa ne yhdeksi muuttujaryhmäksi "NAMES". Viimeisessä kaikulausekkeessa kaikki syötetyt arvot tulostetaan taulukon jäseninä merkkijonotekstissä.

Suoritettaessa tiedostoa “input.sh ”, käyttäjää on pyydetty syöttämään arvot. Kun käyttäjä syöttää arvot, nämä arvot on tallennettu taulukon muuttujaan "NAMES". Kun nämä arvot on tallennettu, kaiku käsky suoritetaan ja tulostetaan syötetyt nimet matriisiarvoina itsessään, kuten on esitetty.

Esimerkki 06:

Otetaan sama tiedosto pienellä muutoksella komentosarjassa. Olemme kirjoittaneet kaksi lukukomentoa ottaaksemme arvon käyttäjältä komentotulkkiin ja tallentaneet ne kahteen muuttujaan: “NUM1” ja “NUM2”. Sen jälkeen molemmat muuttujat on tulostettu.

Kirjoita komentoterminaaliin Chmod-komento, joka antaa tälle tiedostolle suoritusoikeudet.

$ chmod + x-syöttö.sh

Kun suoritat tämän tiedoston bashilla, näet, että se kehottaa sinua lisäämään numeroita peräkkäin. Kun syötät vaaditut arvot, se tulostaa molemmat numerot erikseen.

Jos haluat vahvistaa, että käyttäjä jättää minkä tahansa kentän tai muuttujan tyhjäksi, voit päivittää edellisen koodin seuraavasti. Hakusanalla ”-z” tarkistetaan molemmat muuttujat, jos niissä on tyhjiä välilyöntejä.

Suorituksen aikana käyttäjä on lisännyt tilaa numerona. Käyttäjä sai viestin yrittää uudelleen, koska käyttäjän kirjoittama muuttuja sai välilyöntejä.

Kokeillaan samaa koodia joillakin ehdoilla käyttäjän syöttämien numeroiden suhteen. Jos käyttäjän syötteessä on jokin muu merkki kuin alla olevassa koodissa mainittu, se välittää viestin.

Koodia kokeillessaan käyttäjä on lisännyt yhden erikoismerkin, joka luo kehotteen.

Johtopäätös

Tässä oppaassa olet oppinut onnistuneesti, kuinka kehotetaan käyttäjän syötteitä kuoreen ja tulkitaan käyttäjän syötteitä hyvin yksinkertaisten esimerkkien avulla.

Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...
Unity3D Tutorial
Introduction to Unity 3D Unity 3D is a powerful game development engine. It is cross platform that is it allows you to create games for mobile, web, d...