Denne guiden demonstrerer hvordan du bruker Bash Test -kommandoen.
Testkommando
Testkommandoen tar en UTTRYKK som et argument. Etter å ha beregnet uttrykket, returnerer testen en verdi til bashvariabelen “$?”. Hvis verdien er 0, var ekspresjonsevalueringen sann. Hvis verdien er 1, var ekspresjonsevalueringen falsk.
Det er to syntaks for bruk av testkommandoen.
$ testuttrykk
$ [Uttrykk]
Merk at når det gjelder “[“, er det et rom i begge ender av UTTRYKK.
Testbruk
Her er et kort eksempel på hvordan testkommandoen fungerer. Vi sjekker om 1 tilsvarer 2. Hvis sant, vil utgangen være "sann". Ellers vil utgangen være "falsk".
$ test 1 -eq 2 && Echo “True” || ekko “falsk”
La oss bryte det ned.
Hvis testdelen er sann, vil den første Echo -kommandoen utføre. Ellers vil den andre Echo -kommandoen utføre.
Den samme kommandoen kan uttrykkes ved å bruke “[”.
$ [1 -eq 2] && Echo “True” || ekko “falsk”
Uttrykk
Uttrykket er det som gir testkommandoen sin sanne kraft. Testen kan bruke strenger, filer og heltall for sammenligning. Her er en rask liste over alle tilgjengelige testuttrykksformater.
Streng
I programmering er en streng et sett med tegn som vanligvis brukes til å representere tekst. For eksempel blir "Hello World" i følgende Echo -kommando behandlet som en streng.
$ ECHO “Hello World.”
Testkommandoen støtter følgende strenguttrykk.
La oss prøve ut disse uttrykkene.
$ [-n “Hello World”] && Echo “True” || ekko “falsk”
$ [-z “Hello World”] && Echo “True” || ekko “falsk”
$ [“Hello World” != “Hello World”] && Echo “True” || ekko “falsk”
$ [“Hello World” = “Hello World”] && Echo “True” || ekko “falsk”
Heltall
Det aller første eksemplet i denne guiden demonstrerer heltallsammenligning. Det er flere måter å sammenligne heltall på.
La oss sette disse uttrykkene i verk.
$ [5 -eq 10] && Echo “True” || ekko “falsk”
$ [5 -GT 2] && Echo “True” || ekko “falsk”
$ [4 -LE 5] && ECHO “True” || ekko “falsk”
Fil
Filer kan også være en del av uttrykket. Her er listen over støttede filuttrykk.
Resten av de støttede filuttrykkene er relatert til en enkelt egenskap til en enkelt fil.
La oss se på noen eksempler.
$ [-x/usr/bin/bash] && ekko $?
$ [-s /bin /bash] && ekko $?
$ [-r /bin] && ekko $?
$ [-e /hello_world] && ekko "true" || ekko "falsk"
Implementering av test i bash -skript
Så langt har vi demonstrert hvordan du bruker testkommandoen for å avgjøre om en viss tilstand er sann eller falsk. Vi kan implementere dette i bash -skript for å ta nyttige beslutninger.
Ta en titt på følgende korte skript.
#!/bin/bash
if [$ (whoami) = root]; deretter
ekko “rot”
ellers
ekko "ikke rot"
fi
Her vil IF -uttalelsen sjekke om tilstanden er sann eller falsk. Ved hjelp av testkommandoen kan vi enkelt få den boolske verdien.
Kjør manuset med og uten rotprivilegium.
$ ./dummy.sh
$ sudo ./dummy.sh
Det er en enkel if-ests-uttalelse demonstrasjon. Sjekk gjerne Bash If-Else-uttalelser for ytterligere dyptgående applikasjoner.
Siste tanker
Testkommandoen er enkel, men kraftig. Denne guiden forklarer og demonstrerer forskjellige måter å bruke testen. Den komplette listen over alle de støttede uttrykkene er tilgjengelig på Man -siden.
$ mann test
Glad databehandling!