BASH-programmering

Bash “if -z” og “if -n” for å teste strenger

Bash “if -z” og “if -n” for å teste strenger

Uttalelsen “if” i Bash kan brukes med forskjellige parametere for å tjene flere formål. Når vi jobber med strenger i Bash, er det veldig viktig for oss å sjekke om en streng er null eller ikke, slik at den ikke kan forårsake noe problem i gjennomføringen av programmet vårt. Både “-z” og “-n” flaggene kan brukes med “if” uttalelsen for å teste strengene, og vi vil forklare deg hvordan dette kan gjøres i dagens artikkel.

Merk: Linux Mint 20 brukes til å teste følgende eksempler.

Metode for bruk av Bash “if -z” og “if -n” for å teste strenger

For å forklare bruken av Bash “if -z” og “if -n” for å teste strenger, vil vi gjerne dele følgende eksemplarscenarier med deg.

Eksempel 1: Bruk “if -n” for å vise at en streng er null

For å vise at en streng i Bash er null ved å bruke setningen “if -n”, vil vi utføre følgende trinn:

Først oppretter vi en Bash-fil i vår hjemmekatalog med navnet Strings.sh, som vist på bildet nedenfor:

Etter å ha opprettet denne filen, skriver vi inn skriptet som vises i det følgende bildet i filen vår. Som alle Bash-skript, første linje, jeg.e. “#!/ bin / bash, ”er obligatorisk. Så har vi erklært en nullstreng kalt “navn”. En nullstreng i Bash kan deklareres ved å utjevne en variabel til “”. Så har vi en "if" -uttalelse etterfulgt av "-n" -flagget, som returnerer true hvis en streng ikke er null. Vi har brukt dette flagget for å teste strengens "navn", som er null. Det betyr at "hvis" -tilstanden ikke vil bli utført siden verdien av "-n" -flagget vil være falsk i dette tilfellet. Derfor har vi også en "annet" del som vil bli utført ved å skrive ut en melding på terminalen.

Nå er det på tide å utføre denne filen, som kan gjøres med kommandoen vist nedenfor:

$ bash strenger.sh

Siden strengen som vi erklærte var null, er det derfor den "andre" delen av skriptet vårt ble utført, og den tilsvarende meldingen er skrevet ut på terminalen som vist i følgende bilde:

Eksempel 2: Bruk “if -n” for å vise at en streng ikke er null

For å vise at en streng i Bash ikke er null ved å bruke setningen “if -n”, vil vi utføre følgende trinn:

Vi skriver inn følgende skript i Bash-filen. Den eneste endringen vi har gjort i skriptet som vi opprettet ovenfor for dette scenariet, er at vi denne gangen har tildelt "navn" -strengen et gyldig navn. Det betyr at strengen vår ikke er null denne gangen, noe som innebærer at "hvis" -delen av skriptet skal kjøres.

Kjør skriptet igjen, og du vil legge merke til at det modifiserte skriptet vårt fungerer akkurat som vi ønsket ved å utføre "hvis" -delen av skriptet denne gangen, som vist på bildet nedenfor:

Eksempel 3: Bruk “if -z” for å vise at en streng ikke er null

For å vise at en streng i Bash ikke er null ved å bruke setningen “if -z”, vil vi utføre følgende trinn:

Skriptet for dette scenariet er nesten det samme som for scenariet diskutert ovenfor. Vi har bare erstattet “-n” -flagget med “-z” -flagget, men denne gangen har vi også byttet “hvis” og “ellers” delene av skriptet fordi “-z” -flagget returnerer sant hvis strengen er null. Det betyr at den "andre" delen av skriptet denne gangen vil bli utført fordi strengen vår ikke var null.

Du kan bekrefte dette ved å kjøre skriptet du nettopp har endret, og du vil kunne se at strengen din ikke var null, som vist på bildet nedenfor:

Eksempel 4: Bruk “if -z” for å vise at en streng er null

For å vise at en streng i Bash er null ved å bruke setningen “if -z”, vil vi utføre følgende trinn:

Vi har brukt samme skript for dette scenariet som vi gjorde for eksempel # 3. Den eneste endringen vi har gjort i dette skriptet, er at vi har gjort strengen vår null ved å tildele den nullverdien, som du kan se på bildet vist nedenfor:

Nå når vi kjører dette skriptet, vil "hvis" -delen av skriptet utføres fordi strengen er null, og dermed vil verdien av "-z" -flagget være sant, som du kan se fra følgende bilde:

Eksempel 5: Ta strenginnganger og teste det med “if -z”

For å teste strenginngangen som er gitt av brukeren med "if -z" -uttalelsen, vil vi utføre følgende trinn:

Vi kopierer skriptet som vises i bildet nedenfor i Bash-filen. Her ber vi brukeren om å legge inn en streng, og deretter lagrer vi den strengen i "streng" -variabelen med "les" -kommandoen. Deretter tester vi denne strengen med "if -z" -uttrykket, som vil bli utført hvis strengen er null. Hvis det er tilfelle, vil dette skriptet be brukeren om å angi en gyldig streng, og deretter vil den skrive ut den strengen. Imidlertid, hvis brukeren skriver inn en gyldig streng for første gang, vil den "annet" delen av skriptet bli utført.

Etter å ha kjørt dette Bash-skriptet, da vi ble bedt om å legge inn en streng, angav vi med vilje en nullstreng, dvs.e., vi bare trykket på Enter-tasten. Derfor ba terminalen oss om å angi en gyldig streng, som vist i følgende bilde:

Denne gangen har vi angitt en gyldig streng "hallo", og terminalen skrev derfor ut den tilsvarende meldingen som vist på bildet nedenfor:

Konklusjon

Denne artikkelen lærte deg alle de forskjellige metodene som du kan teste strengene dine for å være null eller ikke mens du bruker “-z” og “-n” flaggene med “if” utsagnet. Ved å bruke disse flaggene kan vi teste strenger og dermed bruke dem veldig effektivt i skriptene våre.

SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...
Kjemp om Wesnoth-opplæringen
Kampen om Wesnoth er et av de mest populære open source-strategispillene du kan spille på dette tidspunktet. Ikke bare har dette spillet vært i utvikl...
0 A.D. Opplæringen
Ut av de mange strategispillene der ute, 0 A.D. klarer å skille seg ut som en omfattende tittel og et veldig dypt, taktisk spill til tross for å være ...