Slik tester Null Unix Script

Shell skript er en effektiv måte å manipulere data og kommandoer i Unix operativsystem. Null variabler er vanskelig å teste, med mindre du vet den riktige måten å gjøre dette på. I andre språk, variabler som inneholder ting som "" normalt klassifisert som null er ikke i tilfelle av Unix shell som de tolkes ulikt. Å ha nullverdier i variabler er ofte en nyttig indikator på problemer som oppstår i et skript når verdiene ikke tildeles automatisk som forventet. Når dette skjer tiltak kan iverksettes og problemer rettet eller skriptet kan ta en helt annen rute for å løse problemet.

Bruksanvisning

1 Kontroller at variabelen for å teste er ikke satt til noe. En enkel måte å gjøre dette på er å teste en variabel som ikke har blitt tildelt en verdi før testen, ved ikke å initialisere variabelen som var = "". I dette eksempelet "," ville bli klassifisert som en streng (ikke faktisk null lengde) og kan bli tolket som en verdi i shell-skript.

2 Test variabel for null lengden ved hjelp av standard Unix shell syntaks som (i Bourne shell-versjonen) er:

hvis [-z "$ var"]

deretter

# other commands ...

fi

Dette betyr at hvis "$ var" variable ikke har en lengde, er det en nullverdi. Handling kan deretter tas basert på test i "og deretter" uttalelse som følger.

3 Test en variabel for en nullverdi, og hvis den ikke inneholder en verdi, tildele en i en enkelt kommando. Dette kan oppnås ved hjelp av en spesiell skallkommando som følger:

varisnullornot = $ {var: -NULL}

I dette tilfellet er "varisnullornot" variable blir tilordnet den verdi som inneholdes i den variable "var" hvis den har en verdi. Dersom den ikke har en verdi som deretter variabelen "varisnullornot" blir tilordnet ordet "NULL", som deretter kan testes på følgende måte:

hvis [ "$ varisnullornot" = "NULL"]

deretter

echo "Var is a null variable"

ellers

echo "\"varisnullornot\"" is assigned the value contained in \"var\""

fi

Hint

  • Den "test" -kommandoen varierer fra forskjellige skall, inkludert Bourne shell, Kshell, Cshell og andre. Ta kontakt med mannen siden av din versjon ved å skrive "mann test" i kommandolinjen i skallet du bruker.