BASH-ohjelmointi

Merkitse merkkijonot if -z ja if -n

Merkitse merkkijonot if -z ja if -n

Bashin ”if” -lausetta voidaan käyttää eri parametreilla useiden tarkoitusten palvelemiseen. Aina kun työskentelemme merkkijonojen kanssa Bashissa, on erittäin tärkeää tarkistaa, onko merkkijono tyhjä vai ei, jotta se ei aiheuta ongelmia ohjelman suorittamisessa. Sekä -z- että -n-lippuja voidaan käyttää if-käskyn kanssa merkkijonojen testaamiseen, ja me selitämme sinulle, miten tämä voidaan tehdä tämän päivän artikkelissa.

Huomaa: Linux Mint 20: tä käytetään seuraavien esimerkkien testaamiseen.

Menetelmä Bashin ”if -z” ja “if -n” käyttämiseksi merkkijonojen testauksessa

Selittääkseen Bashin "if -z" ja "if -n" käyttöä merkkijonojen testauksessa haluamme jakaa kanssasi seuraavat esimerkkitapaukset.

Esimerkki # 1: "if -n": n käyttäminen osoittamaan, että merkkijono on tyhjä

Suoritamme seuraavat vaiheet osoittaaksemme, että merkkijono Bashissa on tyhjä ”if -n” -lauseketta käyttämällä:

Ensin luomme Bash-tiedoston kotihakemistoon nimeltä Strings.sh, kuten alla olevassa kuvassa näkyy:

Tämän tiedoston luomisen jälkeen kirjoitamme skriptin, joka näkyy seuraavassa kuvassa tiedostossamme. Kuten kaikki Bash-komentosarjat, ensimmäinen rivi, ts.e. "#!/ bin / bash, ”on pakollinen. Sitten olemme julistaneet tyhjän merkkijonon nimeltä "nimi". Nolla merkkijono Bashissa voidaan ilmoittaa tasaamalla muuttuja arvoon "". Sitten meillä on ”if” -lauseke, jota seuraa “-n” -lippu, joka palauttaa arvon true, jos merkkijono ei ole nolla. Olemme käyttäneet tätä lippua testataksemme merkkijonomme "nimi", joka on tyhjä. Se tarkoittaa, että "jos" -ehtoa ei suoriteta, koska "-n" -lipun arvo on väärä tässä tapauksessa. Siksi meillä on myös "muu" osa, joka suoritetaan tulostamalla viesti päätelaitteelle.

Nyt on aika suorittaa tämä tiedosto, joka voidaan tehdä alla esitetyllä komennolla:

$ bash Jouset.sh

Koska julistamamme merkkijono oli tyhjä, siksi komentosarjan "muu" -osa on suoritettu ja vastaava viesti on tulostettu päätelaitteeseen seuraavan kuvan mukaisesti:

Esimerkki # 2: "if -n" -toiminnon käyttäminen osoittaaksesi, että merkkijono ei ole tyhjä

Suoritamme seuraavat vaiheet osoittaaksemme, että Bashin merkkijono ei ole tyhjä käyttämällä lausetta ”if -n”:

Kirjoitamme seuraavan komentosarjan Bash-tiedostoon. Ainoa muutos, jonka olemme tehneet yllä tätä skenaariota varten luomaan komentosarjaan, on, että tällä kertaa olemme määrittäneet "nimi" -merkkijonolle kelvollisen nimen. Se tarkoittaa, että merkkijonomme ei ole tällä hetkellä tyhjä, mikä tarkoittaa, että komentosarjan "if" -osa tulisi suorittaa.

Suorita nyt komentosarja vielä kerran, ja huomaat, että muokattu komentosarja toimii samalla tavalla kuin halusimme suorittamalla komentosarjan "if" -osan tällä kertaa alla olevan kuvan osoittamalla tavalla:

Esimerkki # 3: "if -z": n käyttäminen osoittaaksesi, että merkkijono ei ole tyhjä

Suoritamme seuraavat vaiheet osoittaaksemme, että merkkijono Bashissa ei ole tyhjä käyttämällä lausetta ”if -z”:

Tämän skenaarion komentosarja on melkein sama kuin edellä käsitellyssä skenaariossa. Olemme korvanneet vain -n-lipun "-z" -lipulla, mutta tällä kertaa olemme vaihtaneet myös komentosarjan "jos" ja "muut" osat, koska "-z" -lippu palauttaa arvon tosi, jos merkkijono on nolla. Se tarkoittaa, että tällä kertaa komentosarjan ”muu” osa suoritetaan, koska merkkijonomme ei ollut tyhjä.

Voit tarkistaa tämän suorittamalla juuri muokkaamasi komentosarjan ja näet, että merkkijonosi ei ollut tyhjä, kuten alla olevassa kuvassa näkyy:

Esimerkki # 4: "if -z": n käyttäminen osoittamaan, että merkkijono on tyhjä

Suoritamme seuraavat vaiheet osoittaaksemme, että merkkijono Bashissa on tyhjä käyttämällä if -z-käskyä:

Olemme käyttäneet samaa skriptiä tässä skenaariossa kuin esimerkissä 3. Ainoa muutos, jonka olemme tehneet tähän komentosarjaan, on se, että olemme tehneet merkkijonostamme nollan osoittamalla sille nolla-arvon, kuten alla olevasta kuvasta näet:

Nyt kun suoritamme tämän komentosarjan, komentosarjan "if" -osa suoritetaan, koska merkkijono on tyhjä, ja siten "-z" -lipun arvo on tosi, kuten voit nähdä seuraavasta kuvasta:

Esimerkki # 5: Merkkijonon käyttäjän syötteen ottaminen ja sen testaaminen "if -z": llä

Testataksemme merkkijonon syötteen, jonka käyttäjä antaa ”if -z” -lausekkeella, suoritamme seuraavat vaiheet:

Kopioimme alla olevassa kuvassa näkyvän komentosarjan Bash-tiedostomme. Tässä pyydämme käyttäjää kirjoittamaan merkkijono, ja sitten tallennamme kyseisen merkkijonon "string" -muuttujaan "read" -komennolla. Sitten testataan tätä merkkijonoa ”if -z” -lausekkeella, joka suoritetaan, jos merkkijono on nolla. Jos näin on, tämä komentosarja kehottaa käyttäjää syöttämään kelvollisen merkkijonon ja sitten se tulostaa kyseisen merkkijonon. Jos käyttäjä syöttää kelvollisen merkkijonon ensimmäistä kertaa, komentosarjan ”muu” -osa suoritetaan.

Tämän Bash-komentosarjan suorittamisen jälkeen, kun meitä kehotettiin syöttämään merkkijono, kirjoitimme tarkoituksella nollan merkkijonon, ts.e., painoimme vain Enter-näppäintä. Siksi päätelaitteemme kehotti meitä syöttämään kelvollisen merkkijonon, kuten seuraavassa kuvassa näkyy:

Tällä kertaa olemme kirjoittaneet kelvollisen merkkijonon "hei", joten pääte tulosti vastaavan viestin alla olevan kuvan mukaisesti:

Johtopäätös

Tämä artikkeli opetti sinulle kaikki erilaiset menetelmät, joilla voit testata merkkijonosi nollaksi tai ei, kun käytät ”-z” ja “-n” lippuja ”if” -lausekkeella. Käyttämällä näitä lippuja voimme testata kaikki merkkijonot ja siten käyttää niitä erittäin tehokkaasti komentosarjoissamme.

Add Mouse gestures to Windows 10 using these free tools
In recent years computers and operating systems have greatly evolved. There was a time when users had to use commands to navigate through file manager...
Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...