Hvordan sjekke om streng verken er tom eller plass i skallskriptet

Hvordan sjekke om streng verken er tom eller plass i skallskriptet
I Shell -skripting er det viktig å sjekke om en streng er tom eller bare inneholder mellomrom før du utfører noen operasjoner på den. Dette er fordi å utføre operasjoner på en tom eller rom-bare streng kan føre til uventede resultater Denne artikkelen vil diskutere forskjellige måter å sjekke om en streng verken er tom eller plass i skallskriptet.

Hvordan sjekke om streng verken er tom eller plass i skallskriptet

For å sjekke om en streng verken er tom eller inneholder mellomrom i et skallskript, kan du bruke følgende to metoder:

  • Bruker -n og -z operatører
  • Ved hjelp av vanlige uttrykk

Metode 1: Bruke -n- og -z -operatører

-N -operatøren sjekker om lengden på strengen er større enn null, mens -z -operatøren sjekker om lengden på strengen er null. Vi kan bruke disse operatørene i kombinasjon for å sjekke om en streng verken er tom eller plass i skallskriptet. Her er et eksempel:

#!/bin/bash
String = "Hei Linux"
if [-n "$ String"] && [-z "$ (ekko $ String | tr -d '[: Space:]')"]]
deretter
ekko "Strengen er tom eller inneholder bare mellomrom.""
ellers
ekko "Strengen er verken tom eller inneholder bare mellomrom.""
fi

I dette eksemplet sjekker vi først om lengden på strengen er større enn null ved å bruke -N -operatøren. Deretter fjerner vi alle mellomrom fra strengen ved hjelp av tr kommando og sjekk om lengden på den resulterende strengen er null ved hjelp av -z -operatøren. Hvis begge forholdene er sanne, kan vi konkludere med at strengen verken er tom eller bare inneholder mellomrom.

Metode 2: Bruke vanlige uttrykk

Vi kan også bruke vanlige uttrykk for å sjekke om en streng verken er tom eller plass i skallskriptet. Her er et eksempel:

#!/bin/bash
String = "Hei Linux"
if [["$ String" = ~ ^[[: Space:]]*$]]]
deretter
ekko "Strengen er tom eller inneholder bare mellomrom.""
ellers
ekko "Strengen er verken tom eller inneholder bare mellomrom.""
fi

I dette eksemplet bruker vi = ~ operatøren for å matche strengen mot det vanlige uttrykket ^[[: Space:]]*$, som samsvarer med null eller flere mellomrom i begynnelsen og slutten av strengen. Hvis strengen samsvarer med dette vanlige uttrykket, kan vi konkludere med at det enten er tomt eller bare inneholder mellomrom.

Konklusjon

I Shell Scripting er det viktig å sjekke om en streng verken er tom eller bare inneholder mellomrom før du utfører noen operasjoner på den. Vi diskuterte to metoder for å utføre denne sjekken: Bruke -n/-z -operatører og bruke vanlige uttrykk. Ved å bruke disse metodene, kan vi sikre at skallskriptene våre håndterer strengene riktig og unngår uventede feil.