BASH-programmering

Bash hvis -z og hvis -n til test af strenge

Bash hvis -z og hvis -n til test af strenge

"Hvis" -sætningen i Bash kan bruges med forskellige parametre til at tjene flere formål. Når vi arbejder med strenge i Bash, er det meget vigtigt for os at kontrollere, om en streng er nul eller ej, så den ikke kan forårsage noget problem i udførelsen af ​​vores program. Både “-z” og “-n” flagene kan bruges med “if” udsagnet til at teste strengene, og vi vil forklare dig, hvordan dette kan gøres i dagens artikel.

Bemærk: Linux Mint 20 bruges til at teste følgende eksempler.

Metode til brug af Bash "if -z" og "if -n" til test af strenge

For at forklare brugen af ​​Bash "hvis -z" og "hvis -n" til test af strenge, vil vi gerne dele følgende eksemplsscenarier med dig.

Eksempel nr. 1: Brug "if -n" til at vise, at en streng er nul

For at vise, at en streng i Bash er nul ved hjælp af "if -n" -sætningen, udfører vi følgende trin:

Først opretter vi en Bash-fil i vores hjemmekatalog med navnet Strings.sh, som vist på billedet nedenfor:

Efter oprettelse af denne fil vil vi skrive scriptet vist i det følgende billede i vores fil. Som alle Bash-script, første linje, jeg.e. “#!/ bin / bash, ”er obligatorisk. Så har vi erklæret en nullstreng ved navn “navn”. En nullstreng i Bash kan erklæres ved at udligne en variabel til "". Så har vi en "if" udsagn efterfulgt af "-n" flag, som returnerer true, hvis en streng ikke er nul. Vi har brugt dette flag til at teste vores streng "navn", som er nul. Det betyder, at "hvis" -tilstanden ikke udføres, da værdien af ​​"-n" -flagget i dette tilfælde er forkert. Derfor har vi også en "anden" del, der udføres ved at udskrive en besked på terminalen.

Nu er det tid til at udføre denne fil, hvilket kan gøres med kommandoen vist nedenfor:

$ bash strenge.sh

Da den streng, som vi erklærede, var nul, er det derfor, den anden del af vores script er blevet udført, og den tilsvarende meddelelse er udskrevet på terminalen som vist i følgende billede:

Eksempel 2: Brug "if -n" til at vise, at en streng ikke er nul

For at vise, at en streng i Bash ikke er nul ved hjælp af "if -n" -sætningen, udfører vi følgende trin:

Vi skriver følgende script i vores Bash-fil. Den eneste ændring, vi har foretaget i scriptet, som vi oprettede ovenfor til dette scenarie, er, at vi denne gang har tildelt "navn" -strengen et gyldigt navn. Det betyder, at vores streng ikke er nul denne gang, hvilket indebærer, at "hvis" -delen af ​​scriptet skal udføres.

Kør nu scriptet igen, og du vil bemærke, at vores modificerede script fungerer ligesom vi ønskede ved at udføre "hvis" -delen af ​​scriptet denne gang som vist på billedet nedenfor:

Eksempel nr. 3: Brug “if -z” til at vise, at en streng ikke er nul

For at vise, at en streng i Bash ikke er nul ved hjælp af "if -z" -sætningen, udfører vi følgende trin:

Scriptet til dette scenario er næsten det samme som for scenariet beskrevet ovenfor. Vi har kun erstattet “-n” flag med “-z” flag, men denne gang har vi også byttet “hvis” og “ellers” dele af scriptet, fordi “-z” flag returnerer sandt, hvis strengen er nul. Det betyder, at denne "anden" del af scriptet vil blive udført, fordi vores streng ikke var nul.

Du kan bekræfte dette ved at køre det script, du lige har ændret, og du vil kunne se, at din streng ikke var nul, som vist på billedet nedenfor:

Eksempel 4: Brug "if -z" til at vise, at en streng er nul

For at vise, at en streng i Bash er nul ved hjælp af "hvis -z" -sætningen, udfører vi følgende trin:

Vi har brugt det samme script til dette scenarie, som vi gjorde for eksempel nr. 3. Den eneste ændring, vi har foretaget i dette script, er at vi har gjort vores streng nul ved at tildele den nulværdien, som du kan se på billedet vist nedenfor:

Når vi nu kører dette script, vil "hvis" -delen af ​​scriptet blive udført, fordi strengen er nul, og dermed vil værdien af ​​"-z" -flagget være sandt, som du kan se på følgende billede:

Eksempel nr. 5: Tager streng brugerinput og tester det med "if -z"

For at teste strenginput, der leveres af brugeren med "if -z" -erklæringen, udfører vi følgende trin:

Vi kopierer scriptet vist på billedet nedenfor i vores Bash-fil. Her beder vi brugeren om at indtaste en streng, og så gemmer vi den streng i variablen "streng" med kommandoen "læs". Derefter tester vi denne streng med "if -z" -sætningen, som udføres, hvis strengen er null. Hvis det er tilfældet, vil dette script bede brugeren om at indtaste en gyldig streng, og derefter vil den udskrive den streng. Men hvis brugeren indtaster en gyldig streng for første gang, udføres den "anden" del af scriptet.

Efter at have kørt dette Bash-script, da vi blev bedt om at indtaste en streng, indtastede vi med vilje en null-streng, dvs.e., vi trykkede simpelthen på Enter-tasten. Derfor anmodede vores terminal os om at indtaste en gyldig streng, som vist i følgende billede:

Denne gang har vi indtastet en gyldig streng "hej", og terminalen udskrev derfor den tilsvarende meddelelse som vist på billedet nedenfor:

Konklusion

Denne artikel lærte dig alle de forskellige metoder, hvormed du kan teste dine strenge for at være nul eller ej, mens du bruger “-z” og “-n” flagene med “if” udsagnet. Ved at bruge disse flag kan vi teste eventuelle strenge og dermed bruge dem meget effektivt i vores scripts.

Nyttige værktøjer til Linux-spillere
Hvis du kan lide at spille spil på Linux, er chancerne for, at du måske har brugt apps og hjælpeprogrammer som Wine, Lutris og OBS Studio for at forbe...
HD Remastered-spil til Linux, der aldrig tidligere havde haft en Linux-udgivelse
Mange spiludviklere og udgivere kommer med HD-remaster af gamle spil for at forlænge franchisens levetid. Venligst fans, der anmoder om kompatibilitet...
Sådan bruges AutoKey til at automatisere Linux-spil
AutoKey er et desktopautomatiseringsværktøj til Linux og X11, programmeret i Python 3, GTK og Qt. Ved hjælp af dets scripting og MACRO-funktionalitet ...